How zephyrproject-rtos/zephyr works
Zephyr is a scalable, security-focused real-time operating system for resource-constrained devices. Its runtime brings up architecture-specific kernel support and board hardware, then exposes drivers and higher-level services to embedded applications. The graph highlights documented architecture and board breadth, plus sampled storage, networking, Bluetooth, and LoRaWAN components. Source excerpts are selective, so several subsystem connections are shown as unverified rather than asserted as call paths.
Main entry points: CMakeLists.txt Zephyr RTOS · drivers Device drivers · arch Architecture support · lwm2m_engine.c LwM2M engine
Components 20
Kernel and architectures
- Zephyr RTOS
CMakeLists.txt - Architecture support
arch - ARM support
arch/arm - RISC-V support
arch/riscv
Boards and drivers
- Board support
boards - Device drivers
drivers - NPCX I2C
drivers/i2c/i2c_npcx_controller.c - NVMe controller
drivers/disk/nvme/nvme_controller.c - NVMe definitions
drivers/disk/nvme/nvme.h
Connectivity services
- LwM2M engine
subsys/net/lib/lwm2m/lwm2m_engine.c - LwM2M object API
subsys/net/lib/lwm2m/lwm2m_object.h - LwM2M observations
subsys/net/lib/lwm2m/lwm2m_observation.h - Media controller shell
subsys/bluetooth/audio/shell/media_controller.c - Media proxy
subsys/bluetooth/audio/media_proxy_internal.h - LoRaWAN engine
subsys/lorawan/native/engine.c - LoRaWAN MAC interface
subsys/lorawan/native/mac/mac.h
Storage and security
- UpdateHub storage
subsys/mgmt/updatehub/updatehub_storage.c - PSA protected storage
subsys/secure_storage/include/psa/protected_storage.h - FIDO2 storage
subsys/authentication/fido2/storage/fido2_storage_settings.c
Other components
- Embedded application
Connections 20
- Embedded application → Zephyr RTOS: runs on
- Zephyr RTOS → Architecture support: supports architectures
- Architecture support → ARM support: includes
- Architecture support → RISC-V support: includes
- Zephyr RTOS → Board support: supports boards
- Zephyr RTOS → Device drivers: uses
- Device drivers → NPCX I2C: includes
drivers/i2c/i2c_npcx_controller.c - Device drivers → NVMe controller: includes
drivers/disk/nvme/nvme_controller.c - NVMe controller → NVMe definitions: uses definitions
drivers/disk/nvme/nvme_controller.c - NPCX I2C → Device drivers: implements driver API
drivers/i2c/i2c_npcx_controller.c - Zephyr RTOS → LwM2M engine: provides service
- LwM2M engine → LwM2M object API: uses object model
subsys/net/lib/lwm2m/lwm2m_engine.c - LwM2M engine → LwM2M observations: uses observations
- Embedded application → Media controller shell: issues commands
- Media controller shell → Media proxy: calls controls
subsys/bluetooth/audio/shell/media_controller.c - Embedded application → LoRaWAN engine: posts requests
subsys/lorawan/native/engine.c - LoRaWAN engine → LoRaWAN MAC interface: dispatches requests
subsys/lorawan/native/engine.c - Embedded application → UpdateHub storage: requests updates
- Embedded application → PSA protected storage: stores protected data
- Embedded application → FIDO2 storage: uses credential storage