Some basic project templates which are intended for the arm-none-eabi-gcc toolchain. Does include support for unit tests if you wish to use them. Otherwise remove the relevant dirs if you decide against testing. Look at other branches for different setups e.g. FreeRTOS support, CMSIS support instead of Libopencm3 etc.
The project itself is blinking the user LED on the STM32G431KB Nucleo device.
The following tools are needed to build this project
- make
- arm-none-eabi-gcc
- gcc (for unit tests)
- st-flash in order to interact with the STM32
- ARM CMSIS V6
- STM32G4xx Nucleo BSP
- STM32G4 HAL
- CMSIS G4 CMSIS device library
- Greatest C test framework
CMSIS will also produce linker warnings due to newlib e.g. “_write is not implemented and will always fail”. There is quite a bit of a size overhead when pulling in all the CMSIS modules. An average project would be around ~100Mb.