4 ms·
My money is on Linux based RTOS platforms. It's a bit of a surprise that Amazon has backed a non-Linux horse in this race.
by hoodoof 9y ago
My money is on Linux based RTOS platforms. It's a bit of a surprise that Amazon has backed a non-Linux horse in this race.
- ramzyo 9y agoNo existing Linux-based RTOS that I know of will run on a microcontroller. Not enough Flash for program memory or RAM for volatile storage. Can any useful Linux-based RTOS kernel fit into 1MB of non-volatile storage and use less than ~512KB RAM; would love to know of one if it exists!
- SAI_Peregrinus 9y agoReplied as a sibling, and it certainly doesn't qualify as useful, but Dmitry Grinberg wrote an ARM emulator for AVR, soldered a SIMM to a board with an ATMEGA1284P and an SD card on an SPI bus connection, and got Linux to boot. The 24MHz clock rate is effectively reduced to about 6.5kHz, but it might be possible to find a use for such a device.
- ramzyo 9y agoInteresting, thanks for sharing!
- SAI_Peregrinus 9y agoLinux is totally unsuitable for the vast majority of microcontroller tasks. It has way too much overhead, requires a 32-bit CPU with MMU (or a very slow emulator like Dmitry Grinberg made[1], but that takes 6 hours to boot.) Microcontrollers that FreeRTOS is used on are very often 8-bit or 16-bit jobs, and even the 32-bit ones often lack an MMU. Linux on a micro is like trying to go to the corner store to get beer in a C5 galaxy transport aircraft. [1] http://dmitry.gr/index.php?r=05.Projects&proj=07.+Linux+on+8bit http://dmitry.gr/index.php?r=05.Projects&proj=07.+Linux+on+8...
- InitialLastName 9y agoSince linux also fundamentally has non-deterministic timing, which makes it incapable of doing what people want microcontrollers to do, you can replace C5 galaxy transport aircraft with a Nimitz-class aircraft carrier. It can't even get to your corner store without converting the street into a canal.
- fgonzag 9y agoAs a former embedded SW engineer, I'm willing to put money against it (for 99% of the use cases for micro controllers by volume), most of the ones I worked with were 8 or 16 bit, had at most 1 MB of volatile storage, and you were lucky if you had 1 MB of RAM to work with. For my area at least, we're talking about the microcontrollers for your car's key fob, your car's instrument cluster, etc. Every electronic component in your car has an embedded microcontroller connected to the CAN bus. And cost is a big issue. High end electronic might contain more powerful micro controllers, but I doubt that by volume it makes a significant percentage of the microcontrollers in circulation.
- ianhowson 9y agoThis is a common sentiment and I have a lot to say on the topic, so I'll try to keep it brief: - You want to keep manufacturing costs low so you can make more money. - Running Linux requires a relatively large CPU with an MMU and a lot of RAM and Flash. This adds significant cost -- $5-$20 per unit. - Some devices do enough local processing that they have this hardware anyway (routers, streaming TV widgets, smartphones). In this case, you might as well just run Linux and take advantage of the big software ecosystem. - Most devices do not require such big hardware. This is where you want something like FreeRTOS (or smaller!) so you can ship smaller, cheaper hardware.
- ramzyo 9y agoDon’t forget power consumption - this is also a huge factor in the down-selection process for computing hardware. This is in addition to the others you mentioned, sometimes referred to as SWaP-C (Size, weight, power and cost).