Almost 700 people registered for the first-ever Zephyr Developer Summit, which took place virtually on June 8-10, to learn more about the RTOS. We had 3 tracks, 5 mini-conferences, 28 sessions and 51 speakers who presented engaging technical content, best practices, use cases and more. We’ll be adding event videos each week to the Zephyr Youtube Channel. Stay tuned here for more videos.
Today, we’re featuring the all of the Device Management presentations at Zephyr Developer Summit including A deep dive into the Zephyr 2.5 device model, USB support in Zephyr, Real Time in the Real World, Scheduler Details for Practical Problems, Zephyr Power Management 101, Demand Paging: when software is bigger than available memory and the Device Management Mini-Conference. Check out the abstracts and watch the videos below.
A deep dive into the Zephyr 2.5 device model – Marti Bolivar, Nordic Semiconductor
Zephyr’s device model is the central abstraction underlying all of its drivers and many subsystems, along with core features such as the system clock. This talk is intended as an update to previous presentations on the subject, which describes the device model as it exists in Zephyr 2.5, along with a discussion of possible changes for 2.6 and beyond.
USB support in Zephyr – Johann Fischer, Nordic Semiconductor
USB device support overview in Zephyr OS and ongoing/upcoming rework. What limitations do we have with current stack/driver-API and what do we want to improve. USB device controller drivers overview, Zephyr OS developer view on the HAL and controller designs. Host support. Testing. How can device stack and host stack benefit from each other?
Real Time in the Real World, Scheduler Details for Practical Problems – Andy Ross, Intel
An hour-long deep dive into the details of Zephyr’s evolving thread scheduling facilities, their interactions with the broader OS and their application (and misapplication) to real systems. Topics include a quick overview of the base priority-based scheduler, what “cooperative” priorities really mean, how MetaIRQ priorities work and what they are for, Earliest-Deadline-First priorities, and the new p4workq abstraction for matching pooled threads with scheduler parameters.
Zephyr Power Management 101 – Flavio Ceolin, Intel
- This talk will discuss recent changes in the Zephyr power management infrastructure that attempts to fully support the capabilities of the various supported platforms. It will cover two major areas of this topic, System Power Management and Device Power Management, exploring how they are implemented, how they interact with each other and other subsystems and Kernel and finally how applications and integrators can change the default behavior.
Demand Paging: when software is bigger than available memory – Daniel Leung, Intel
Feature rich software requires lots of memory to function. Hardware targeting IoT applications usually have limited physical memory to keep cost and power consumption low. Demand paging comes to the rescue when software grows larger than available memory by swapping memory into lower cost but slower storage devices. This presentation gives an overview of demand paging in Zephyr.
The Device Management Mini-Conference:
How to perform Zephyr OTA update over LoRaWAN – Piotr Król, LPN Plant
This presentation will elaborate on how to perform an Over-The-Air (OTA) update of the Zephyr OS-based application using LoRaWAN. To achieve this goal, we will propose to use MCUboot open source bootloader. The main limitation of LoRaWAN is the maximum payload length, so the target application has to be fragmented accordingly, sent over the network, and placed by the MCU in a memory bank. There are few possible scenarios, but the one we will present is a dual bank update, which relies on replacing only one copy of 2 available firmware banks. This mechanism lets us revert the changes if anything goes wrong. The presentation will also explain how to maintain the authenticity and integrity of firmware updates. Finally, we will present a demo showing the action using the Yocto-based x86 gateway with RAK833 LoRa module and Chirpstack driving update of multiple STM32-based nodes.
Simplifying sensor management using LwM2M and Zephyr API – Marcin Nagy, Mieszko Mieruński, & Kamil Panek, AVSystem
The growing number of deployed IoT devices, together with the increasing availability of low-power wide-area networks (LPWAN), sets new challenges for efficient and scalable device management solutions. Lightweight M2M (LwM2M) is a device management and service enablement protocol developed as an open standard by OMA SpecWorks.
Device management protocols like MQTT or AMQP are excellent choices for devices with Internet access and powered by electricity. However, for constrained devices operating in cellular LPWA networks (e.g., NB-IoT, LTE-M), where long battery lifetime matters, every byte sent or received on the air interface matters. LwM2M fits perfectly in such deployments by providing very efficient data encoding over CoAP and minimizing TCP transport overhead when working over UDP.
In addition to technological advantages in constrained environments, LwM2M defines some IPSO Objects to increase interoperability between devices and servers from different manufacturers. As IPSO objects are openly available and peer-reviewed by OMA SpecWorks members, device developers can use them to model devices, saving their time by taking an already published object instead of reinventing the wheel by creating another custom device model.
Unfortunately, many developers fail to understand the value that IPSO objects bring. They find implementing them cumbersome and often decide to go with their own custom device model. In this presentation, we show the integration of Anjay, our open-source LwM2M client, with Zephyr and show how to use Anjay API for efficient device management. Based on this, in the second part of the presentation, we demonstrate how to use Zephyr API to reduce the development time needed to implement IPSO objects for device sensor management.
Field Report: Setting up a Software Product Line Architecture – Gregory Shue, Legrand
Since the 1990s, the Software Engineering Institute (sei.cmu.edu) has been researching best practices and success metrics for setting up, managing and delivering Software Product Line (SPL) architectures to support strategic reuse of software. This report presents the “Good, Bad, and Ugly” discovered from using the Zephyr ecosystem as a foundation for an extensible down-stream SPL framework.
If you have questions or would like to chat with any of our Zephyr speakers, ambassadors or members of the Technical Steering Committee (TSC), please join us on the Zephyr Slack.