Follow+Star Public Account, don’t miss wonderful content
Source | Embedded ARM
Edited | strongerHuang
RTOS: Real Time Operating System.
RTOS is one of the essentials in embedded systems. With the development of domestic production, free RTOS options are increasing rapidly, offering embedded engineers a wider selection.
A senior 21ic user stated that there are now many RTOS options available, some are open source, some are closed, some are free, and some are paid. In such a complex market, he shared his views on how to choose a free RTOS:
1. When choosing an RTOS, prioritize sufficiency over excessive features. A powerful RTOS will inevitably consume more resources and be more complex. Simplicity tends to lower the probability of issues.
2. Don’t place too much importance on popularity. Popularity can be hyped; some low-profile RTOS may have higher code quality and be more reliable and stable.
3. Look at the history; the biggest problem with open source projects is sustainability. Choosing an RTOS without a development team for ongoing maintenance can be disastrous. Generally, if a project has lasted 10 years, it has a good chance of lasting 20 or 30 years. Additionally, an OS requires continuous iteration and improvement; lacking this makes it unreliable.
4. Examine the composition of the development team. If a project relies too much on community open-source enthusiasts, especially in China, it is generally less reliable. Notably, well-known open-source projects abroad usually have at least one reputable company backing them. It’s advisable to review the author’s published articles, as their perspectives often permeate all aspects of the RTOS.
5. Don’t be misled by a ten-minute hello world. While quick setup is good, high-quality systems may not be easy to start with, such as rtems or VxWorks. Don’t be fooled by official flashy demos; these demos don’t prove much. To be blunt, I can also create such demos using assembly.
6. If not hello world, what should you look at? RTOS is a development platform; spending some time getting familiar won’t hurt. For a project’s development cycle, investing a few days to deeply understand its characteristics is essential. A good RTOS will become increasingly versatile and adaptable as the project progresses, while a poor RTOS will become more constrained.
7. Prioritize native system features. For example, if System A has a native protocol stack while System B integrates an open-source protocol stack, the native option will score significantly higher. Any open-source software might face compatibility issues during porting, which can be critical during deep usage.

Currently, there are hundreds of RTOS types worldwide, and here are some common open-source RTOS: UCOS, FreeRTOS, RT-Thread, ThreadX, RTX, TencentOS, LiteOS, AliOS, Mbed OS, NuttX, MS-RTOS, Zephyr, Contiki-NG, RIOT, Apache Mynewt, Drone, eCos, F9 Microkernel, Tock, Mark3, Atomthreads, Trampoline, etc. (Please add any omissions in the comments section)
According to a survey, the usage efficiency of open-source operating systems is currently 42%, while commercial operating systems’ usage rate is 24%, and this ratio continues to decline.
Surveys show that 35% of users value complete code support when choosing an operating system, 31% prefer better technical support, 29% choose software, system, and tool support, 29% lean towards free options, 26% prefer immediate availability, 26% favor customizable options, and 24% prefer open-source solutions.
So, in this era of explosive free open-source options, how do you choose an RTOS?
Supplement:
I have previously shared many articles about RTOS; you can reply with “RTOS” in my public account to see more related content.
Selected Summary | Column | Directory | Search
Selected Summary | Embedded C Language
Selected Summary | STM32, Microcontrollers
Welcome to follow my public account, reply “Join Group” to join the technical exchange group according to the rules, reply “1024” for more content.
Welcome to follow my video account:

Click “Read Original” to see more shares, and feel free to share, bookmark, like, and view.