Hi RIOT developers,
In many of the meetings/events I have been with the RAPStore team we had quite a few people asking us how does RIOT relate to FreeRTOS. The "official" response up to now has been that we don't do that comparison because FreeRTOS does not include all the things that RIOT has, mainly networking (and drivers too.)
Still, people ask the question and I'd like to give them an answer. Also, I don't know how accurate is the "no network" answer, especially since FreeRTOS was acquired by Amazon. I've never used FreeRTOS so I'd be grateful if anybody who knows could explain what's going on.
Looking at http://riot-os.org/ I don't see any comparison to FreeRTOS either. It would be great to have it so we can point people to our website when they ask.
I’ve been using FreeRTOS for a while now.
I’ve not been using their network stack.
It’s a bit hard to compare, as freertos doesn’t have the “cover all bases centrally” approach RIOT has. NXP for example will let you choose from several software components (TCP/IP among others) to include in a freertos bundle for their MCUs. Downloading such a bundle will then also include drivers for peripherals. Some of these drivers are available in freertos flavors that use freertos primitives to e.g. transfer data in an interrupt driven manner.
Freertos itself only uses a dedicated hardware timer (much like the riot core) that is configured as part of the port. The freertos people maintain ports for some architectures. They also maintain their TCP/IP dtack. It’s decidedly not Linux-like though, so much is clear.
As far as the table goes freertos seems to check all the boxes. It probably fares comparably for the RAM/ROM metrics (just a gut feeling).
When I look at that page/table it seems to say that riot is caught in the past. Not only is freertos/the flavor of freertos that Amazon is cooking missing, all the others that came out after riot aren’t there either. Zephyr, mbed, and mynewt come to my mind. Those are the ones I would actually care about seeing in a comparison today.
The timeline/history also skips to “future” 6 years ago.