The program does not make use of HAL and CMSIS drivers, or an IDE.
main.c- contains MCU code, a round-robin schedulerled.c- contains code for initializing 4 LEDsstm32_startup.c- contains vector table and reset handlerstm32f411re_linkerscipt.ld- the linker script describes how data is written on the mcusyscalls.c- the program uses standard libraryMakefile- for automating of compilation
The compilation and flashing work with:
arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10-2020-q4-major) 10.2.1 20201103 (release)
xPack OpenOCD, x86_64 Open On-Chip Debugger 0.10.0+dev
Download the code, go to the folder and run
make clean
make - that will generate an final.elf file which you can flash
make semi - that will generate a final_sh.elf file which makes usage of standard library
make load - that will start OpenOCD