Linux - Embedded & Single-board computerThis forum is for the discussion of Linux on both embedded devices and single-board computers (such as the Raspberry Pi, BeagleBoard and PandaBoard). Discussions involving Arduino, plug computers and other micro-controller like devices are also welcome.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you looking for linux distributions for embedded systems? If so,
what architecture? If it is ARM, there is:
Arch Linux ARM
Wind River Linux
Because, once the 'OSless C code' begins running...
then it is no longer OS-less... the underlying functions/procedures that do the interaction(s) with the hardware ARE the OS...
the intermediary between the user and the system.
This is particularly true since the code will likely run till it is shut off...
On a bare board only programmed by you you have to write the drivers for all components yourself. If you later have to change the platform for whatever reason you have to redo all that work. In opposite to that Linux abstracts you from the platform and you can concentrate on your application. As long as your new platform also supports Linux you can still use your application, maybe with some minor adaptions.
The two keywords here are fast development (the OS already exists) and abstraction (changes are easy to compensate), keeping the development costs as low as possible.
Why would you? You can take the Linux harddisk out of your PC and put it into a PC with different hardware and it still works (if you don't use proprietary drivers). It is the same if you use Linux on a embedded system. Even if you have a special driver for one of the devices on the platform written yourself, if you have done it in a proper way you shouldn't have any problems and even if you have they should be solved with some minor corrections. If you have a PC with several PCI cards and you swap them in their slots they get different absolute hardware addresses and still work.
Linux, like any other OS, provides a standard set of services available to application software. In Linux, that set of services is very rich, and covers process control, memory allocation, all hardware access, networking, filesystems, interprocess communication, etc. It exposes a standardized ABI which application software uses to access all of the services porvided by the OS. All of this is provided by the Linux kernel, which actually IS the OS. All of the rst of the userspace stuff we've come to expect in a GNU/Linux system is well, just userspace programs.
You can write everything from scratch, forsaking all of the benefits of a mature OS. In smaller systems, this is the expectation. I think such systems are becoming less popular, as the price and size of relatively powerful systems (SoC's and SoM's) has dropped dramatically in recent years.