cancel
Showing results for 
Search instead for 
Did you mean: 

RTOS Survey

Bored Saturday, I was just curious who's using which RTOS:

  • FreeRTOS (Hideous Hungarian HorroRTOS, where code is fugly and deficiencies are touted as features ;)
  • Azure/ThreadX (can't wait to see how Microsoft poisons this one ;)
  • RTX (any actual CubeMX support?  Really?  Documentation?)
  • Other(s)?
  • None/Bare Metal (including HAL-only)

Just wondering...

 

11 REPLIES 11
Andrew Neil
Evangelist III

As @Davide Dalfra said, It Depends!

Generally, my projects tend to at the level where there's no need for an RTOS - so HAL/bare-metal.

I have used FreeRTOS for a long time, very successfully on STM32 MCUs.

I am big fan of VxWorks. Also Micro-C/OS-II/-III is not bad (esp. for education):
Micro-Controller Operating Systems - Wikipedia

There is also embOS (Segger):
embOS - RTOS (segger.com)

IAR might have its own RTOS:
Integrated software and RTOS | IAR

MDK-ARM: Keil:
Keil Real-time Kernels and Operating Systems

AZURE-RTOS: yes, STM goes meanwhile this route - but OK for me:
it was before ThreadX - also a very popular RTOS:
What is Azure RTOS ThreadX? | Microsoft Learn

STM32 supports several systems: e.g. EWARM (IAR), MDK_ARM (Keil), STM32CubeIDE (meanwhile AZURE-RTOS, before and maybe still as legacy: FreeRTOS, CMSIS RTOS).

After getting familiar with AZRE-RTOS - I like it: it has so many additional components, like a FatFS, USB Stacks (including USB ECM). I cannot complain, pretty feature reach.

At the end: it does not matter which RTOS I use: there is a need to study documents and to get familiar, but at the end: the methodology of all the RTOS's are similar: if you understand the concept behind RTOS - all are quite similar in usage (a need to check examples and LIB functions anyway needed when changing).

And: if you do not like any of these RTOS's - you can still implement "RTOS-like" on bare metal. Or create your own RTOS, e.g. I did with "ActiveObjects", similar to QuantumLeaps, QP:
Key concept: Active Object (state-machine.com)

At the end: you would "reinvent the wheel": the biggest benefit to go with an RTOS vendor is the support for libraries, like FatFS, Network, USB, FlashStorage... and AZURE RTOS is pretty "complete" here.
(it is not just the Kernel - it is the native support for applications which matters most - for me).