
EoSim — Embedded Systems Simulator
EoSim is the EoS simulator — a unified harness over QEMU, Renode, and a hardware-in-the-loop bridge that lets you boot, debug, and CI-test EoS firmware against 52+ virtual platforms without touching real silicon.
What EoSim is
EoSim wraps QEMU and Renode behind a single Python API and CLI: pick a platform, hand it an EoS firmware image, and you get an inspectable virtual board with simulated peripherals, a GDB stub, and scriptable scenarios.
For tests that demand real hardware, the HIL bridge proxies the same API onto attached reference boards — so the same scenario runs in CI on a virtual STM32 and on a physical board on an engineer's desk.
Features
The shape of EoSim at a glance.
52+ Virtual Platforms
STM32 family, NXP i.MX, ESP32, RISC-V SiFive, ARM Cortex-A SoCs, x86_64 servers, and more.
QEMU + Renode + HIL
Three execution backends behind one API; switch with a flag.
Scriptable Scenarios
Drive peripherals, inject faults, advance time — all in Python.
GDB & Trace Hooks
Built-in GDB stub, full instruction trace, and EoS kernel-aware introspection.
CI Integration
Runs in GitHub Actions / GitLab / Jenkins; produces JUnit-format results.
Fault Injection
Bit-flip, brown-out, broken-peripheral scenarios for resilience tests.
Multi-Node
Networks of simulated boards share a virtual bus / Ethernet / Wi-Fi.
Benchmarks
Same harness drives perf / power benchmarks — exports to CSV and Plotly.
Hardware-in-the-Loop
Same scenarios run on physical reference boards via the HIL bridge.
Open source on GitHub
EoSim is Apache-2.0 licensed and developed in the open. Issues, discussions, and pull requests welcome.
In the EoS stack
EoSim is the highlighted layer below.
Pairs well with
Sibling components that EoSim commonly works alongside.
Ready to build with EoSim?
Start with the docs, browse the source, or join the community.