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.
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.
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.
13 comments
[ 1.4 ms ] story [ 40.3 ms ] threadI 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.
http://www.mikroe.com/mikropascal/pic/
http://www.mikroe.com/mikrobasic/pic/
With support for all really tiny CPUs out there. The language runtime does the OS role.
Just one possible example, there are other vendors.
https://www.riot-os.org/
- 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.