5 ms·
Small systems (such as the Raspberry Pi) and microcontrollers are very different beasts. A linux system requires more resources than are generally available wit
by tony-allan 3y ago
Small systems (such as the Raspberry Pi) and microcontrollers are very different beasts. A linux system requires more resources than are generally available with a microcontroller.
Microcontrollers work without and operating system or with a very small Real-time operating system (RTOS).
A microcontroller just as the Raspberry Pi Pico (RP2040 chip) and a Raspberry Pi running linux (e.g. Raspberry Pi Zero 2 W) are almost the same price — $4 vs $15.
Microcontroller have KB's to MB's of RAM and storage and
computers have GB's of RAM and storage.
There is some overlap in how these systems are used but generally if you want to control low-level are hardware with specific time or latency constraints use a microcontroller. If you want to run regular programs (with or without a keyboard and screen) use linux.
- roschdal 3y agoI think there is value in running Linux on an Arduino. Clinux. https://www.electronicdesign.com/technologies/embedded/article/21795660/practical-advice-on-running-uclinux-on-cortexm3m4 https://www.electronicdesign.com/technologies/embedded/artic...
- roschdal 3y agoOr Arduino making a new board with an MMU which will run Linux
- hnlmorg 3y agoDid you read that article? It literally says it’s impossible to run Linux without hundreds of megabytes of additional RAM, which Arduinos wouldn’t have and some boards can’t even be upgraded (eg https://arduino.stackexchange.com/questions/28794/how-to-expand-program-memory-on-an-arduino https://arduino.stackexchange.com/questions/28794/how-to-exp...). As you said, cLinux exists - so if you want Linux on an embedded device you can have it. Just not on an Arduino (or at least not on any models I’ve used).
- simonblack 3y agoEarly Linux distros used to run on very small machines with about 4 megabytes of RAM (if you were lucky enough to have one that big!) I used to run Slackware 2-point-something, or maybe it was 3-point-something around 1993-1994 on a Toshiba T5200. (LATER: It was Slackware 2.01 on a CD from InfoMagic.) IIRC, the critical factor was a CPU that was capable of multi-tasking. In the x86 world, that was a 386 or better.
- hnlmorg 3y agoLinux today is very different from what it was like back then though.
- simonblack 3y agoAbsolutely. I can remember running a full-blown UNIX in 70 megabytes of hard drive. Try doing that today. <grin> But who knows whether some version of Linux can't be run on an Arduino if that Linux version can be cut down enough? There were some versions of Linux that used to fit on a couple of floppies, or maybe even just one floppy. Or am I thinking of something similar like QNX?
- hnlmorg 3y agoA floppy disk is also larger than the memory on an Arduino. The Due, for example, has the following specs: > 96KB SRAM, 512KB flash Source: https://docs.arduino.cc/hardware/due https://docs.arduino.cc/hardware/due (And that’s one of the beefier boards!)
- simonblack 3y ago<grin> Back in the early 8-bit days, any RAM greater than 64K and disk-based storage more than about 100K was 'looxery,lad!'.
- hnlmorg 3y ago