Where blinking a LED means the world
This is intended as a showcase for the Renode framework from AntMicro. It allows to simulate hardware and run embedded firmwares with no physical board and without changing/instrumenting your code. This is all developed on Windows but can be applied to any other OS as long as the toolchains and Renode are available.
- Renode: 1.13.3
- STM32CubeIDE: 1.12.1
You basically just need to buld the STM32Cube project. It has been generated using STM32CubeMX v6.8.1 for a NUCLEO F103RB board. The only feature is to toggle the user LED when you press and release the user button. Nothing crazy but you have to start somewhere.
The default script uses the Debug configuration in the case you want to start a GDB server. Feel free to build the Release but note that you'll have to edit the load_and_start_renode.resc file to use the correct binary file.
With the project built, you can now include the load_and_start_renode.resc file in a Renode instance. The last line of the script can be uncommented to start a GDB server.
Start the machine. Nothing crazy should happen. You can now play with the user button in Renode :
gpioPortC.UserButton PressAndReleaseYou should see the results in the log window :
[NOISY] gpioPortA.UserLED: LED state changed to True
The STM32CubeIDE contains a Debug configuration to connect to the remote GDB server from Renode. From now you can debug as usual like you would with a JTAG probe or any other debug device with a local physical board.