An RTOS can be a good way to manage multiple tasks running on a microcontroller or microprocessor. Wikipedia lists around 140 operating systems. Granted, not all of them will run on a microcontroller or microprocessor we typically consider, but even if only 50% of them are relevant, that still makes many options available. How do you choose?
There are many commercial RTOS that will work on small embedded microcontrollers. ThreadX, uC/OS II, MQX, are among the most popular. But a few years ago FreeRTOS was released. FreeRTOS has several advantages, but its open source nature is tremendous. People tend to shy away from closed source and paid solutions. The ability to evaluate the RTOS at no cost allows more people to see and experience it. Even better, a community can naturally build around it. When you’re paying for a product, you typically won’t share much information about it. The contracts sometimes enforce this. But for an open source product, openness means people will share. They will share code, success and failure. This gives a developer a better understanding of how the RTOS works in real life and how to perform common tasks.
No wonder FreeRTOS is quickly surpassing commercial RTOS in terms of market share. Some of the last figures I’ve seem have it at 33% of the market. This is a lot for any product with a market as fragmented as the embedded systems market.
At Argenox Technologies we’ve used FreeRTOS for several projects and we’re happy to say it has worked very well. Our customers depend on it every day for their products.
* FreeRTOS is a brand of Real Time Engineers LTD.