This is a derived version of the TRCH firmware for SC-Sat1. The original TRCH firmware can be found at https://github.com/spacecubics/trch-firmware/.
$ xc8-cc --version Microchip MPLAB XC8 C Compiler V2.46 Build date: Jan 4 2024 Part Support Version: 2.46 Copyright (C) 2024 Microchip Technology Inc. $ cd trch-firmware $ git describe release-v1.0-28-g7ec231d
You need GNU Make in addition to Microchip MPLAB XC8 Compiler to build it. We currently support v2.46.
$ make | grep -v -e 'advisory: (2100)' CC src/main.p1 CC src/fpga.p1 CC src/interrupt.p1 CC src/timer.p1 CC src/ioboard.p1 CC src/i2c-gpio.p1 CC src/ina3221.p1 CC src/spi.p1 CC src/tmp175.p1 CC src/usart.p1 AR src/libdevice.a HEX hex/trch-firmware.hex src/fpga.c:62:: warning: (520) function "_fpga_is_i2c_accessible" is never called src/fpga.c:28:: warning: (759) expression generates no code src/fpga.c:43:: warning: (759) expression generates no code Memory Summary: Program space used 59Ch ( 1436) of 2000h words ( 17.5%) Data space used 65h ( 101) of 170h bytes ( 27.4%) EEPROM space used 0h ( 0) of 100h bytes ( 0.0%) Configuration bits used 1h ( 1) of 1h word (100.0%) ID Location space used 0h ( 0) of 4h bytes ( 0.0%)
You need a Microchip MPLAB IPE and MPLAB PICkit4. Make sure it works on your system and do the following.
$ make program