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.