13 comments

[ 1.4 ms ] story [ 40.3 ms ] thread
Not really for "microcontrollers" in general, more for top end chips.

I often wonder if there is a nice super portable OS for your more "average" microcontroller, something in the ballpark of 16bit, 32k program space, and 2k of RAM. Also an alternative to C for something in that ballpark would be fantastic.

FreeRTOS?
This doesn't provide any hardware abstraction, you rely on vendor libraries for portability.
A general-purpose operating system really seems inappropriate for 2kB of RAM. In that space I think it's all custom applications doing very specific things.
2k? and alternative to C? Use forth or stick with assembly.
There are many reasons why you don't want a general purpose OS for a microcontroller:

- Embedded systems are very price sensitive. if you're making it general purpose, you're wasting money.

- Embedded systems generally have some form of real-time requirements. General Purpose OSes are not suitable here.

- Time-Efficiency; don't waste cycles.

- Space-efficiency; don't waste memory.

- power-efficiency; be asleep as much as possible.

Simple schedulers such as FreeRTOS/RTX/ChibiOS/etc/etc/etc are much more suitable, but better just to implement a nice simple super-loop. Primitive but efficient.