Need to choose base library:
- STM32 Standard Peripheral library (SPL) deprecated
- STM32 Hardware Abstraction Layer (HAL) library and Low-Layer (LL) drivers
- STM32 Arduino Core (https://github.com/stm32duino/Arduino_Core_STM32)
- libopencm3 (https://github.com/libopencm3/libopencm3)
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.