Why using a RTOS?

No doubt, selecting a good and mature RTOS will bring your product to market faster and reduce your maintenance effort.

Developing RTOS features like hardware abstraction, complex library support, communications protocols and security from scratch is difficult and time-consuming. There is no doubt that you will bring a product to market faster by using a mature existing RTOS and it is likely that your maintenance burden will be reduced. You may also find it easier to recruit developers for such an RTOS in contrast to using a home-grown solution. That said, using an RTOS, even a free one, does not come without cost. You will have to set up a development environment, learn about it’s libraries and API’s and adapt your applications to the new software platform.

Factors affecting your choice of RTOS: Cost, Code size (Flash memory), RAM usage, Hardware support, ongoing support and updates, licensing, value-added features such as remote firmware update and messaging and support for security and safety.

There are several RTOS on the market - both commercially licensed and open-source licensed. Among the open-source projects, the Linux Foundation-supported Zephyr project stands out as having a very active development community. It is licensed using the Apache 2.0 license which is quite permissive.

About Zephyr

Zephyr is a designed to run on microcontrollers with a limited amount of ROM, RAM and CPU resources. It targets a range of MCU cores including various ARM devices, Intel x86, RISC-V and ESP32. This means that application development skills you acquire on one hardware platform can be transferred to other devices.

Using the phrase “Operating System” you may be inclined to think of desktop operating systems such as Windows, Linux etc. Desktop OS’s allow you load and run programs dynamically. Embedded operating systems (RTOS) such as Zephyr do not work like this. The RTOS and application are compiled together into one single file which is programmed on the target device. When the system starts up, the OS is booted and your application runs. In this sense, you can consider RTOS’s such as Zephyr to be like a library that you might link with your own code.

In order to build applications for Zephyr you need to set up a toolchain including compiler, libraries, header files and a host of other tools. Detailed instructions for setting up Zephyr on your computer are available at the Zephyr project’s homepage https://zephyrproject.org/

Previous
Previous

Real-time OS in Linux Foundation

Next
Next

Medtech center in the south of Sweden