Chris Simmonds, freelance consultant and trainer (2net ltd), discusses the future of embedded Linux now that storage and processing power are no longer an major issue, and try to find the best Linux platform for embedded systems at ELCE 2012.
Embedded Linux is at a cross roads where the combination of More’s law making devices more powerful and the mass production of consumer devices, especially mobile, making them cheaper means that the old ways no longer work. Only a few years ago we though in mega: MHz, MBytes, MBits/s. Now we have to think in giga. The days of the single core CPU are almost over, as are the days of the QVGA display.
All this means that there is a need to re-think how embedded devices are programmed. Two obvious roads lie ahead: Android and Ubuntu (or other desktop operating system of your choice). This talk considers the possibilities and challenges in following either route, and considers how embedded engineers can make the best choices for future projects.
Chris talk is structured as follows:
- Evolution of embedded hardware
- 10 years ago: 80 MHz MCU, 16 MB RAM, 8 MB NOR flash. Price: $500
- Today: dual core @ 1.2 GHz, 1GB RAM, 4GB (and more) SD card (Pandaboard). Price: $160
- Cost of hardware – The Beagleboard started the low-cost board revolution
- Embedded Linux past
- Low RAM, clock speed, and amount of storage. Headless, or simple user interface from keypad or touch screen.
- Lots of specific tools – Cross toolchain, uClibc, busbox, read-only file systems, lots of custom BSP…
- Embedded Linux now and the future
- Clock speed, RAM and storage no longer an issue (less need for busybox, uClibc and small rootfs)
- Storage move from flash to eMMC and SD card (reduced need for jffs2)
- New problems: Complexity, user interface, maintainability and skill level.
- My ideal embedded Linux OS – Multi-platform fully open source OS with good board support, minimal rootfs availability, reduce writes to storage, proper logging, remote upgrade, good debugging tools and long term support.
- Options – Choice between Mainstream Distro (e.g. Ubuntu, Debian, Fedora), Embedded Linux (e.g. Open Embedded, Yocto) and Android. He compares those 3 choices according to the criteria mentioned above.
- Android is the winner? – Android barely won the contest, but it is monolithic, inflexible, not a community project, and only good for devices that look like smartphones and tablets.
- Conclusion – Future devices will take more from mainstream distros, but there’s more work to do, and there is always Android for some kind of devices
The presentation slides are available for download.