• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Electrical Engineering News and Products

Electronics Engineering Resources, Articles, Forums, Tear Down Videos and Technical Electronics How-To's

  • Products / Components
    • Analog ICs
    • Connectors
    • Microcontrollers
    • Power Electronics
    • Sensors
    • Test and Measurement
    • Wire / Cable
  • Applications
    • Automotive/Transportation
    • Industrial
    • IoT
    • Medical
    • Telecommunications
    • Wearables
    • Wireless
  • Resources
    • DesignFast
    • Digital Issues
    • Engineering Week
    • Oscilloscope Product Finder
    • Podcasts
    • Webinars / Digital Events
    • White Papers
    • Women in Engineering
  • Videos
    • Teschler’s Teardown Videos
    • EE Videos and Interviews
  • Learning Center
    • EE Classrooms
    • Design Guides
      • WiFi & the IOT Design Guide
      • Microcontrollers Design Guide
      • State of the Art Inductors Design Guide
    • FAQs
    • Ebooks / Tech Tips
  • EE Forums
    • EDABoard.com
    • Electro-Tech-Online.com
  • 5G

An Open Source RTOS for IoT

September 24, 2018 By Scott Thornton Leave a Comment

An operating system (OS) is software that supports essential computer functions by managing software and hardware in a computer system. An embedded OS is typically tailored for a specific system and is usually as small as is necessary to do its job. You can find OSes in smartphones, routers, smart watches, game consoles, Alexa/Google Home, and many other devices. Zephyr™ is a microcontroller OS that has been developed primarily for the Internet of Things (IoT) and supports multiple architectures. Zephyr has roots in a Real-Time OS (RTOS) created by Wind River in 2015, called the “Rocket OS,” which was designed for resource-constrained systems. In 2016, WindRiver transferred Rocket OS into the Zephyr project managed by the Linux Foundation as open source.

Zephyr is also an open source project to create a free, independent OS that operates in a tiny memory footprint, running in as low as 8k. The Linux Foundation hosts Zephyr under a permissive Apache 2.0 license. [i] Some IoT needs an RTOS that can perform on a predictable schedule, with priority on getting the most important tasks completed on time. Smart devices are becoming more complicated and challenging to manage. Devices with multiple sensors, processes, and connectivity may need to perform specific tasks on time and be able to prioritize tasks to a time-sensitive goal.[ii]

Zephyr open source RTOS

Figure 1: The Zephyr system architecture. (Source: Zephyr.org)

 

Any operating system for an IoT device would need to consume as few resources as possible for cost- and power- constrained resources, but also capable of high-performance connectivity. The Zephyr RTOS is highly configurable and modular, with statically allocated memory and resources, and no “user space” or dynamic runtimes. Zephyr supports IoT across several architectures.

Zephyr prioritizes the system layer for IoT terminal devices such as sensors, wearables, and other small connected objects. At the same time, Zephyr is a secure system, offering memory protection support as of version 1.1 released in early 2018. The Zephyr kernel supports several architectures, including the Intel x86, ARM Cortex -M, NIOS II, ARC, and RISC-V. [iii] As of this writing, Zephyr is supported on 113 boards and two shields, with more on the way.[iv]

Zephyr support presently includes Bluetooth, Bluetooth LE 5.0, Ethernet, 802.15.4, Wi-Fi, IPv4/IPv6, 6LoWPAN, Thread, and NFC.[v] As with the Linux OS, developers can change Zephyr to suit their needs. The Zephyr community encourages successful changes to be contributed back to the project.

The Zephyr project community is made up of developers from the member organizations and the general community involved in software development as part of the Zephyr project. Today, Zephyr has a healthy and diverse community. From 2016 to 2018, Zephyr’s repositories had grown from five to fifteen, authors from 80 to 354, and commits from 2,806 to 23,324. Organizations involved include Intel, Nordic Semiconductor, Linaro, Synopsys, Google, NXP, Tencent, Acer, Sony, STMicroelectronics, and many others.

Design and technical details

Zephyr is a highly configurable and modular OS that implements memory protection (even for platforms without an MMU/MPU), uses Device Tree Support (DTS) only during compile time, provides fully featured networking support, offers non-volatile storage support, virtual file system interface with NTSS and FATFS support, an extensive suite of kernel services, and many other features. Zephyr includes support for the Thread protocol, as well.

Zephyr open source RTOSZephyr is a library-based OS; the application code and the kernel are united in the same binary compilation. According to Geoffrey Le Gourrierec, who writes the Linux Embedded blog, Zephyr has only one address space, and “there is no notion of privilege level.”[vi] He goes on to state that one selects features before compilation so that only the bare necessities are used, with no loss of performance due to contextual changes, and a decrease in the size of the memory footprint. However, on a remote device that needs to be updated, you cannot change a single module, but have to flash a whole new binary image to the device.

Zephyr has high ambitions, and the list of boards that support it is getting longer. Host machines include both Linux and Windows machines. Zephyr has excellent documentation and a complete System Development Kit (SDK). Zephyr’s future includes support for LoRa, CanBus, enhanced sensor support, MIPS support, and ecosystem tools that include tracing, profiling, 3rd party debugging support, and much more. It’s worth taking a look at Zephyr. To learn how to contribute, visit https://www.zephyrproject.org/community/how-to-contribute

 

 

References

[i] https://docs.zephyrproject.org/latest/introduction/introducing_zephyr.html

[ii] https://software.intel.com/en-us/articles/introduction-to-the-zephyr-real-time-operating-system-rtos-with-the-intel-quark

[iii] https://www.zephyrproject.org/presentations/zephyr-project-overview-elc-openiot-summit-north-america-2018/

[iv] https://docs.zephyrproject.org/latest/boards/boards.html

[v] https://www.zephyrproject.org/what-is-zephyr/

[vi] http://www.linuxembedded.fr/2017/04/decouverte-de-los-zephyr/

 

Filed Under: FAQ, Featured, Microcontroller Tips Tagged With: basics, FAQ

Reader Interactions

Leave a Reply Cancel reply

You must be logged in to post a comment.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

EE Training Center Classrooms

EE Classrooms

Featured Resources

  • EE World Online Learning Center
  • CUI Devices – CUI Insights Blog
  • EE Classroom: Power Delivery
  • EE Classroom: Building Automation
  • EE Classroom: Aerospace & Defense
  • EE Classroom: Grid Infrastructure
Search Millions of Parts from Thousands of Suppliers.

Search Now!
design fast globle

R&D World Podcasts

R&D 100 Episode 8
See More >

Current Digital Issue

June 2022 Special Edition: Test & Measurement Handbook

A frequency you can count on There are few constants in life, but what few there are might include death, taxes, and a U.S. grid frequency that doesn’t vary by more than ±0.5 Hz. However, the certainty of the grid frequency is coming into question, thanks to the rising percentage of renewable energy sources that…

Digital Edition Back Issues

Sponsored Content

New Enterprise Solutions for 112 Gbps PAM4 Applications in Development from I-PEX

Positioning in 5G NR – A look at the technology and related test aspects

Radar, NFC, UV Sensors, and Weather Kits are Some of the New RAKwireless Products for IoT

5G Connectors: Enabling the global 5G vision

Control EMI with I-PEX ZenShield™ Connectors

Speed-up time-to-tapeout with the Aprisa digital place-and-route system and Solido Characterization Suite

More Sponsored Content >>

RSS Current EDABoard.com discussions

  • Constraining a combo path (Synopsys DC)
  • tetramax fault list
  • Tessent MBIST for memories with dedicated test clock
  • SDR with external LO input
  • Question about set_timing_derate

RSS Current Electro-Tech-Online.com Discussions

  • Question about ultrasonic mist maker
  • RF modules which can handle high number of bytes per second
  • Disabled son needs advice please
  • DIY bluetooth speaker
  • Pet Microchip scan

Oscilloscopes Product Finder

Footer

EE World Online

EE WORLD ONLINE NETWORK

  • 5G Technology World
  • Analog IC Tips
  • Battery Power Tips
  • Connector Tips
  • DesignFast
  • EDABoard Forums
  • Electro-Tech-Online Forums
  • Engineer's Garage
  • Microcontroller Tips
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips
  • Wire & Cable Tips

EE WORLD ONLINE

  • Subscribe to our newsletter
  • Lee's teardown videos
  • Advertise with us
  • Contact us
  • About Us
Follow us on TwitterAdd us on FacebookConnect with us on LinkedIn Follow us on YouTube Add us on Instagram

Copyright © 2022 · WTWH Media LLC and its licensors. All rights reserved.
The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media.

Privacy Policy