SPICA Toolchain Decision

Decided 10/9/20:

Use STM32CubeMX to generate startup code / Makefile. Use GCC ARM toolchain to build from there, STFLash to get onto chip.

Use STM32 Arduino Core to verify that hardware works before testing software.

Use HAL libraries initially, switch some peripherals to LL drivers if time permits for optimization.

Libraries for sensors designed for Arduino will need to be translated to work with HAL/LL.


Action Items:

  • Make GitHub for SPICA software
  • Generate initial project with STM32CubeMX
  • Pick a GCC version and document it
  • Try building basic sample code
  • Install STM32 Arduino Core in Arduino IDE when hardware is ready



Decision:

Need to choose base library:

All use Cortex MicroController Software Interface Standard (CMSIS) register/other definitions.


Potential tool chain:

STMCubeMX → Generates Makefile + startup code → compile/link/assemble startup code + source + libraries with GCC → objdump ELF to Intel hex format →  STFlash onto STM32 chip

Could also use STM32Cube IDE, platform.io, Arduino IDE with Arduino Core.