Modern embedded systems increasingly combine real-time control, wireless connectivity, and power-constrained operation within a single device, yet firmware for these systems is still frequently developed from scratch for each new product, reproducing almost the same logic under a different guise every time. This thesis, conducted at M31 SRL, addresses this fragmentation by developing a reusable software framework to standardize how devices communicate. Starting from the company's operational requirements and existing firmware practice, we evaluate state-of-the-art, off-the-shelf real-time operating systems against them. Zephyr RTOS is selected as the architectural foundation, on the basis of its layered driver model and native support for networking and other subsystems. On this foundation, we designed a unified communication framework to decouple application logic from hardware variation, coordinating telemetry aggregation, power-state transitions, and remote command handling. To reach this, a cellular modem driver was implemented from scratch against Zephyr's native driver and socket-offloading interfaces. The resulting system is evaluated both architecturally and empirically: the framework and its drivers were deployed, without application-level modification, across distinct hardware targets and exercised end-to-end through a purpose-built test server. The modem driver was additionally submitted, reviewed, and merged into the official Zephyr RTOS codebase, providing independent, external validation of its design beyond the scope of this thesis. These results show that a single, reusable software foundation can meet the portability, efficiency, and maintainability demands of heterogeneous embedded products, substantially reducing the integration effort required by future projects built on top of it.
Engineering an Embedded Communication Platform with Zephyr RTOS
PICCARI, GIOVANNI
2025/2026
Abstract
Modern embedded systems increasingly combine real-time control, wireless connectivity, and power-constrained operation within a single device, yet firmware for these systems is still frequently developed from scratch for each new product, reproducing almost the same logic under a different guise every time. This thesis, conducted at M31 SRL, addresses this fragmentation by developing a reusable software framework to standardize how devices communicate. Starting from the company's operational requirements and existing firmware practice, we evaluate state-of-the-art, off-the-shelf real-time operating systems against them. Zephyr RTOS is selected as the architectural foundation, on the basis of its layered driver model and native support for networking and other subsystems. On this foundation, we designed a unified communication framework to decouple application logic from hardware variation, coordinating telemetry aggregation, power-state transitions, and remote command handling. To reach this, a cellular modem driver was implemented from scratch against Zephyr's native driver and socket-offloading interfaces. The resulting system is evaluated both architecturally and empirically: the framework and its drivers were deployed, without application-level modification, across distinct hardware targets and exercised end-to-end through a purpose-built test server. The modem driver was additionally submitted, reviewed, and merged into the official Zephyr RTOS codebase, providing independent, external validation of its design beyond the scope of this thesis. These results show that a single, reusable software foundation can meet the portability, efficiency, and maintainability demands of heterogeneous embedded products, substantially reducing the integration effort required by future projects built on top of it.| File | Dimensione | Formato | |
|---|---|---|---|
|
Piccari_Giovanni.pdf
accesso aperto
Dimensione
3.91 MB
Formato
Adobe PDF
|
3.91 MB | Adobe PDF | Visualizza/Apri |
The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License
https://hdl.handle.net/20.500.12608/116552