Flash Expansion Board

Flash and debug firmware on the Expansion Board

The expansion board has a built-in RP2040-based programmer that is pre-flashed with debugprobe firmware that allows it to function as a CMSIS-DAP probe. This makes it easy to flash new firmware onto the FC board over USB using standard tools such as probe-rs or OpenOCD. We recommend using probe-rs because it has less of a configuration burden, and has out-of-the-box support for RTT (Real-Time Transfer) logging.

Building the expansion boards default firmware

Clone the elodin repository and navigate to the fsw directory:

git clone https://github.com/elodin-sys/elodin.git
cd elodin/fsw

The fsw directory contains several example projects, navigate into the sensor-fw directory & follow the build instructions there. The last step is the command cargo rrb fw, which will build the firmware and flash it to the FC board. You should see the same sensor output as before when connected to the Base Board, or alternatively can follow the instructions in the sensor-fw directory readme to collect sensor data from the included SD card.

aleph-flash-fc

Flashing from the Orin NX

You can flash the STM32H7 from the Orin NX. This is useful if you are pushing out new firmware updates to the STM32 over the air. In an Orin NX terminal session run the following command. Replace <elf path> with the path to your firmware payload in the ELF file format

sudo flash-mcu --elf <elf path>