Why FreeRTOS and why not other RTOS

Hi All. I am new to RTOS world. Can someone help me understand how FreeRTOS is better than any other RTOS? Please share if you have any comparison matrix containing comparison of multiple RTOS.

First, I am not sure that it is possible to say that FreeRTOS is ‘better’ than all the other RTOSes out there. One big factor is that what is ‘better’ is very much a factor of your requirements. There are multiple factors, and each application will weight things differently.

Some things I can say that are advantages of FreeRTOS over other RTOSes (not all apply to every other RTOS):

  1. It is really free. FreeRTOS though all the years I have used it is available under a very liberal license, no payment of any kind, and GPL-like restrictions that would infect your program. (Prior to version 10, you needed to make available any modifications you have made to FreeRTOS in your application).

  2. It is very light weight. It doesn’t take a lot of resources in the processor. This does come at a slight cost, there are some features that it doesn’t support, like independent processes where you can kill one and the system cleans it up.

  3. It is fairly complete for basic needs. It supports the basic primatives that you normally need. To be honest, it doesn’t support well some of the more complicated functions, there is no ‘Priority Queue’, where higher priority messages move ahead in the queue over lower priority messages. It also has only limited ‘Multi-Wait’ capability (for instance, a Queue can only be part of a single QueueSet).

  4. It IS open source, and well documented, so if you need a slight change in how things work, you CAN modify it, or study the details of how it works.

Thanks Richard for your valuable response.