Share this article:
Embedded Linux – Why?
I have pondered for some time the appropriateness of Linux for embedded applications. My initial stance was clear enough: I could see very little sense in it. Why use a desktop operating system in such a completely different context? Over the years, the popularity of embedded Linux has increased, the technology of embedded systems has moved on and I have reappraised my views accordingly. I thought it was worth revisiting the philosophical debate …
So, what are the upsides and downsides of using Linux for an embedded application?
There are plenty of reasons why it is attractive. A great many programmers are very familiar with both the API and the kernel itself. So getting skilled people, who need little training, is not so hard. The very wide use of Linux means that a vast array of drivers and middleware components are available, offering many opportunities for reuse, keeping costs down. And, of course, the OS itself is free, so there are no worries about recurring license costs etc.
But there are downsides. Linux is not intrinsically deterministic and, hence, not really suitable for hard real time applications. It carries quite a large memory footprint. And, although there are no license costs, there are legal issues, which could result in an obligation to make application software available as open source.
The good news is that, although these downsides may sound damning, Linux can be a good choice, if its use is approached correctly. Some applications do not need a true real time response and are not overly sensitive to memory footprint. And anyway, by using the right tools, the performance and memory utilization can be optimized. Tools and the right backup can also avoid problems with legal issues and make the deployment of a Linux based system straightforward and cost effective.
Going forward, there are bigger challenges, such as systems which are implemented using multiple cores, some of which may be running Linux, whereas others utilize an RTOS. In this context, the right OS can truly be selected for each job. For multicore and multi-OS, tools and support to implement and optimize a system are no longer optional.
Colin’s most recent publication, Embedded Software: The Works is available now on the Elsevier Store.
Save 30% on his book and other Newnes Press and embedded systems books. Use discount code “STC215″ at checkout.
About the Author
You can read more about Colin and his work on embedded systems at The Colin Walls Blog at Mentor Graphics here. Connect with Colin online here:
Electronics & Electrical Engineering
Electronics and electrical engineering have practically limitless applications. From power engineering, telecommunications, and consumer electronics to circuit design, computer engineering, and embedded systems, these disciplines form the backbone of our increasingly tech-dependent world. Elsevier’s collection of electronics and electrical engineering content — particularly our Newnes and Academic Press Imprints — encompasses these areas and more. Our books and journals provide fundamental knowledge and practical, up-to-date toolkits for professional engineers and technicians, undergraduate and postgraduate students, and electronics enthusiasts.