Overview
Established a virtual STM32F103 development platform using Renode 1.17.0 on Ubuntu Linux.
The environment successfully executed a precompiled Zephyr RTOS firmware image on an emulated ARM Cortex-M3 microcontroller and verified serial output through USART2.
This provides a simulation capability for embedded software evaluation before deployment to physical hardware.
Development Environment
| Component | Configuration |
|---|---|
| Host operating system | Ubuntu Linux, x86-64 |
| Simulation framework | Renode 1.17.0 |
| Target platform | STM32F103 |
| Processor | ARM Cortex-M3 |
| Firmware | Precompiled Zephyr demonstration image |
| Verification interface | USART2 |
Renode Installation
The portable Renode distribution was used to avoid dependency conflicts with the host operating system.
The extracted installation directory was:
~/GitHub/embedded/renode/renode_1.17.0-portable
Renode was launched using:
cd ~/GitHub/embedded/renode/renode_1.17.0-portable
./renode
STM32F103 Virtual Platform
The Renode monitor was used to initialize the simulation:
mach create
include @scripts/single-node/stm32f103.resc
start
The supplied script configured an STM32F103 virtual machine and loaded an existing Zephyr firmware demonstration.
Firmware Execution Verification
The simulation initialized the ARM Cortex-M3 processor and executed firmware mapped to the STM32 flash address space.
The USART2 console displayed:
**** Booting Zephyr OS v1.12.0-435-g7c9a1f0f7 ****
Press the user defined button on the board
This output verified that the virtual processor executed the supplied firmware and that serial communication was functioning.
Technical Considerations
The Renode simulation reported some unimplemented peripheral register accesses. These messages reflect limitations of the simulated peripheral models and should be evaluated when testing firmware that depends on those registers.
The demonstrated execution used a precompiled Zephyr image supplied by the simulation environment. It did not constitute a custom firmware build.
Verification Summary
- Renode portable distribution launched successfully
- STM32F103 virtual platform initialized
- ARM Cortex-M3 firmware execution observed
- Zephyr boot output received through USART2
- Simulation execution controlled through the Renode monitor
Next Engineering Activities
Future work includes building custom STM32 firmware, loading the resulting binary into Renode, and comparing simulated behavior against execution on physical hardware.