How varigit/zephyr works
Zephyr is a scalable, small-footprint real-time operating system for resource-constrained devices. Its main workflow is an application running on a supported board, with architecture-specific code providing the hardware-facing runtime. The tree also shows product subsystems for device drivers, Bluetooth, LwM2M networking, secure storage, and firmware updating. The README documents the OS, supported architectures, and boards; source excerpts show selected subsystem behavior. Several subsystem links are intentionally dashed because their callers or wiring were not shown.
Main entry points: main.c Native POSIX runtime · drivers Device drivers · lwm2m_engine.c LwM2M engine · boards Board support
Components 17
Platform runtime
- Zephyr RTOS
- Architecture support
arch - Board support
boards - Native POSIX runtime
boards/native/native_posix/main.c
Device drivers
- Device drivers
drivers - NVMe controller
drivers/disk/nvme/nvme_controller.c - TMC5041 stepper
drivers/stepper/adi_tmc/adi_tmc5041_stepper_controller.c
Connectivity
- Bluetooth media control
subsys/bluetooth/audio/shell/media_controller.c - Bluetooth object transfer
subsys/bluetooth/services/ots/ots_obj_manager.c - LwM2M engine
subsys/net/lib/lwm2m/lwm2m_engine.c - LwM2M object model
subsys/net/lib/lwm2m/lwm2m_object.h - LwM2M data formats
subsys/net/lib/lwm2m
System services
- PSA storage APIs
subsys/secure_storage/include/psa/protected_storage.h - Trusted storage internals
subsys/secure_storage/include/internal/zephyr/secure_storage/its.h - Update image storage
subsys/mgmt/updatehub/updatehub_storage.c - Flash image service
subsys/mgmt/updatehub/updatehub_storage.h
Other components
- Application user
Connections 18
- Application user → Zephyr RTOS: runs applications
- Zephyr RTOS → Architecture support: supports architectures
- Zephyr RTOS → Board support: targets boards
- Board support → Native POSIX runtime: includes runtime
boards/native/native_posix/main.c - Native POSIX runtime → Zephyr RTOS: boots CPU
boards/native/native_posix/main.c - Native POSIX runtime → Board support: initializes hardware models
boards/native/native_posix/main.c - Zephyr RTOS → Device drivers: offers drivers
- Device drivers → NVMe controller: includes controller
drivers/disk/nvme/nvme_controller.c - Device drivers → TMC5041 stepper: includes controller
drivers/stepper/adi_tmc/adi_tmc5041_stepper_controller.c - Zephyr RTOS → Bluetooth media control: offers Bluetooth features
- Zephyr RTOS → Bluetooth object transfer: offers object transfer
- Zephyr RTOS → LwM2M engine: offers LwM2M
- LwM2M engine → LwM2M object model: uses object definitions
subsys/net/lib/lwm2m/lwm2m_engine.c - LwM2M engine → LwM2M data formats: uses data formats
subsys/net/lib/lwm2m/lwm2m_engine.c - Zephyr RTOS → PSA storage APIs: offers secure storage
- PSA storage APIs → Trusted storage internals: delegates ITS calls
subsys/secure_storage/include/psa/protected_storage.h - Zephyr RTOS → Update image storage: offers firmware updates
- Update image storage → Flash image service: uses image storage context
subsys/mgmt/updatehub/updatehub_storage.c