Hardcore open-source Android and Linux
Recent technology news makes it seem as if everything relating to the Linux kernel and Google’s open source Android distribution were going to take over the world: Android, Linux OSes top 2013 survey, Intel bets on Linux, IP core for Android apps is royalty-free, and China to build standard OS around Ubuntu.
Not so fast say Embedded.com columnists such as Bill Gatliff in “Embedded Android? Call me, maybe,” Jack Ganssle in “Linux wins – or does it?” and my blogs on “Real-time Android: Impossible Dream?” and "What Linus Torvalds hath wrought." While Linux and Android have improved enough to be considered in some embedded apps, there are numerous other MCU and deterministic designs where an RTOS is a better choice.
To make sure you are making the correct choice in your next embedded design means that you need to know as much about open source operating systems alternatives as you do about your commercial RTOS: when to use Linux or Android and when not to, when to use them in combination and the criteria by which to make such decisions.
[Click here to register for DESIGN West 2013, April 22-25 at the San Jose McEnery Convention Center. Options range from an All-Access Pass -- which includes Black Hat (security) Conference Session to Free Expo Admission].
At the conference you will have choice among almost two dozen operating system and open source software related classes and hands-on tutorials organized into four tracks: Linux kernel and operating system, Embedded Android, and the Android Certificate Program as well one on Real-time operating systems. Of these my Editor’s Top Picks - some of which I hope to attend - are:
Multicore Thread to CPU Mapping on Linux and other RTOSes (ESC-305) in which Fridtjof Siebert, CTO, aicas GmbH, will compare the performance of strategies for mapping threads to CPUs in these systems, with particular emphasis on Linux with PREEMPT_RT patch and other real-time OSes provide means to restrict the OS's scheduler to run certain threads on specific CPUs. He will analyze how application performance can be improved using these mechanisms.
“Real-Time Linux: Not So Fast!” (ESC-308), in which William Gatliff will deal with the fact that although Linux has a well-deserved reputation for not being a "real-time kernel", there are work-arounds that will help the developer adapt it so that it is real-time enough for many embedded designs.
To do this he will focus on various POSIX.1b system calls related to scheduling, memory management, timing, and other critical functions and how to pick the right Linux distribution that has been enhanced for true real-time work.
“Get Up and Running Quickly with Embedded Vision Using OpenCV on Android” (ESC-323), in which Eric Gregori of BDTI will explore how various computer-vision algorithms can be used in real-world applications. Using the OpenCV computer-vision library, he’ll explore several interesting real-time OpenCV algorithms running on Android.
“Debugging Techniques for Embedded Android and Linux” (AC-200) in which Ryan Kuester of Insymbols will discuss and demonstrate different debugging tools including Eclipse, DDMS, MAT, oprofile, strace, and gdbserver as well as how to make the choice of the right tool and how to interpret the results. It is one of three classes, interested developers must take to gain Android Certification.
For more background on the conference and some of the recent Embedded.com design articles, webinars and technical white papers on these topics I recommend this week’s Embedded Tech Focus Newsletter on “Riding the Linux/Android wave.” In addition, there are a number of other design articles that I think will complement what you will learn at ESC DESIGN West including:
Comparing the real-time scheduling of the Linux kernel and an RTOS
Multicore networking in Linux user space with no performance overhead
Open Embedded: An alternative way to build embedded Linux distributions
Android hardware-software design using virtual prototypes
Android, Linux & Real-time Development for Embedded Systems
Understanding Android's strengths and weaknesses
As you learn more about Linux, Android and other open source ways of doing embedded design, you will no doubt come up with insights and tricks that are worth sharing with your fellow developers. I look forward to hearing from you and how we can work together to develop blogs or design articles on the site.
Embedded.com Site Editor Bernard Cole is also editor of the twice-a-week Embedded.com newsletters as well as a partner in the TechRite Associates editorial services consultancy. He welcomes your feedback. Send an email to firstname.lastname@example.org, or call 928-525-9087.