This guide assumes that the initial setup steps have been completed, and will walk through the steps of building, flashing, and running the reference deployment. This deployment implements an LED blinker component that is able to communicate with the fprime-gds.
Note
This step can be skipped if the setup.sh script is run. However, any changes made will require you to run fprime-util build and may require fprime-util generate
- In order to build the ReferenceDeployment application, or any other F´ application, we first need to generate a build directory. This can be done with the following commands:
# In fprime-stm32h7-zephyr-reference (fprime-venv)
fprime-util generate- The next step is to build the ReferenceDeployment application's code.
# In fprime-stm32h7-zephyr-reference (fprime-venv)
fprime-util buildDifferent boards will likely require different steps to flash software onto the board. Instructions for tested boards are provided here The following is an example of flashing the deployment onto the NUCLEO-H723ZG board.
# In fprime-stm32h7-zephyr-reference
# Linux/Windows WSL
sh ~/.arduino15/packages/STMicroelectronics/tools/STM32Tools/2.3.0/stm32CubeProg.sh -i swd -f build-fprime-automatic-zephyr/zephyr/zephyr.hex -c /dev/ttyACM0
# MacOS
sh ~/Library/Arduino15/packages/STMicroelectronics/tools/STM32Tools/2.3.0/stm32CubeProg.sh -i swd -f build-fprime-automatic-zephyr/zephyr/zephyr.hex -c /dev/cu.usbmodem142203 Note
Change /dev/ttyACM0 (/dev/cu.usbmodem141203 for MacOS) to the correct serial device connected to the device. To find the correct serial port, refer to thie documentation here
Note
Two USB connections may be required depending on the board configuration. USB PWR is used to power and flash the development board and access the debug terminal, USER USB is used to connect to the F Prime GDS
The following command will spin up the F' GDS as well as run the application binary and the components necessary for the GDS and application to communicate.
# In fprime-stm32h7-zephyr-reference (fprime-venv)
fprime-gds -n --dictionary ./build-artifacts/zephyr/fprime-zephyr-deployment/dict/ReferenceDeploymentTopologyDictionary.json --communication-selection uart --uart-device /dev/cu.usbmodem142101 --uart-baud 115200 Note
/dev/cu.usbmodem142101 will likely need to be replaced with the correct port. This can be found by running the following command: ls -l /dev/cu.usb*
Refer to the additional resources section in the main README file for potential fixes.