This example project show how to compile C code for an ARM Cortex-M micro-controller and run it in Renode.
The targeted MCU is a stm32f103rb.
The projet use uart to printf() in the terminal. The libc_nano and nosys_nano standard libraries are used to achieve this.
- CMake (3.14.0)
- Manjaro Linux (18.0.2)
- Renode (1.9.0)
- GNU Arm Embedded Toolchain (8.3.0)
- VSCode (1.32.3) with the following extension:
- C/C++ (0.22.1)
- CMake (0.0.17)
- LinkerScript (1.0.0)
- ARM (0.3.0)
 
Configure
cmake -S . -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE=toolchain-files/gnu-cm3.cmake -DCMAKE_BUILD_TYPE=DebugBuild
cmake --build buildRun
# Run this command in a terminal
cmake --build build --target renode
# This one in another
arm-none-eabi-gdb build/HelloWorld.elf -ex "target extended-remote :3333"- The SysTick handler trigger breakpoints during debug and it makes it harder.