Community & Support
A Comprehensive Software Platform
For many software developers who support resource-constrained devices, the term “RTOS” is synonymous with “kernel.” It is assumed that an RTOS’s primary—or, perhaps, only—role is to manage the different tasks comprising an application. This view, however, encompasses only a small portion of the functionality needed to implement a connected device. Real-world IoT products require numerous peripheral drivers, various middleware components, and protocol stacks for communication. When this software is not delivered as part of the RTOS, it becomes the responsibility either of the developer or a silicon vendor.
From the start, the Zephyr project has aimed to address the full range of needs of an IoT development project. Thus, Zephyr is much more a “software platform” than an RTOS. In addition to robust, fully tested implementations of the embedded software components referenced above, Zephyr is provided with command-line tools that promote a consistent and straightforward configuration and build process.
Licensing and Governance
Zephyr is not only unique in its packaging of numerous different software components into a single platform. The way that it is developed and managed also reflects an approach different to that followed by other RTOSes. Zephyr is a Linux Foundation project with governing bodies intended to ensure that it doesn’t become captive to any particular cloud or semiconductor vendor. While a group of member companies support the Zephyr project financially and help to make key decisions on the direction of the codebase, development is open to anyone, and there is a vibrant community of code contributors today.
Underpinning Zephyr’s community is the software’s true open-source licensing policy. The default license model for Zephyr is Apache 2.0, which offers permissive, easy-to-understand terms and is widely used in the world of IoT. Although Zephyr users and member companies are free to make their own proprietary, non-portable additions to the OS outside of the project’s official repo, the guiding philosophy of the project is one of openness and collaboration, and these principles motivate many of the decisions taken by Zephyr’s governing bodies.
Silicon Labs’ Support of Zephyr
Given Silicon Labs’ many ties to the RTOS space, there was a clear rationale for joining the Zephyr project as a Silver member in 2021. With membership, companies gain a voice in defining the roadmap for the OS. Silicon Labs’ involvement in Zephyr, however, is not limited to participation in the project’s governance and includes active development efforts aimed at enabling the use of Zephyr on new hardware platforms.
To ensure that the current efforts will be a success, they are being carried out in close collaboration with another Zephyr member,
Antmicro. When negotiating the policies and politics of a dynamic, multi-faceted project, it is always helpful to have an experienced guide, and Antmicro has a résumé dating back practically to the founding of Zephyr. The Antmicro team has made numerous contributions to the OS and is highly familiar with the code base.
The initial support efforts by Silicon Labs and Antmicro are aimed at enabling BLE and Wi-Fi functionality with Zephyr on Silicon Labs devices. The code resulting from these efforts is being delivered via the official Zephyr repo, and the goal is to leverage as much of the Zephyr infrastructure—drivers, middeware, tools, etc.—as possible. In the case of BLE, as the diagram below indicates, the Zephyr host Bluetooth stack is being used, enabling developers to easily get started with existing Zephyr examples.
As the Zephyr project evolves and its userbase grows, Silicon Labs will move forward with new support and integration efforts encompassing a range of devices and wireless technology. Of course, the open-source nature of Zephyr means that the community will be able to assist in these efforts, and to lead
additional initiatives. Ultimately, any contributions to the project will benefit the developers who are looking to realize Zephyr’s potential as a truly open and portable RTOS.
General Zephyr Setup
The official documentation for Zephyr includes a simple getting started guide for installing the software and tools needed to build and run the OS on an embedded device. The guide covers the setup for host machines running Windows, Linux, or Mac OS and should be the first stop for any developers new to Zephyr.
Zephyr on Silicon Labs Hardware
In collaboration with the Zephyr experts at Antmicro, Silicon Labs has enabled Zephyr to run on three EFR32 wireless kits. (The OS has also been ported to a variety of other EFR32 and EFM32 kits, but the output of these efforts has not been verified or tested by Silicon Labs engineers.) The Supported Boards pages listed below provide additional information on the functionality enabled on each kit, along with instructions for building and downloading code that complement the above-mentioned getting started guide.
Community & Support
Questions? You're in the Right Place.
Silicon Labs has an active, knowledgeable user community of engineers and developers that are enthusiastic about solving problems.