The Native Simulator and Zephyr
summary
Builds Zephyr as a host executable that runs deterministically by alternating a single embedded thread with host-run hardware models, letting you run and debug the kernel with ASan and Valgrind, GDB, perf and coverage; it uses relocatable linking and hides symbols, supports multiple MCU images (only one runs at a time), and plugs in Nordic nRF radio models via the bubble PHY. Busy‑wait loops break; use kernel sleep/idle or a split driver with nsi_host_malloc to call host APIs.
AI-written summary · about
chapters (7)
- 0:00Native simulator intro
- 2:08Why native simulator exists
- 8:06How native simulator works
- 14:28Building for native sim
- 23:50Limitations and considerations
- 27:48Advanced driver use cases
- 35:18Q&A
related talks
47mThe Native Simulator and Zephyr
40mZephyr Off-Chip Peripheral Emulation
32mUsing Customerized QEMU Co-simulation for Development and Test of Zephyr Applications
37mStreamlining Testing with Generic Tests and Emulators
57mZephyr RTOS Debugging and Performance Analysis
18mKeynote: From Zephyr’s Structured Data to Traceable and Testable Open Hardware
46mZephyr Application Development Using TDD: Getting Started
40mTesting Zephyr Bluetooth Devices at Scale
