At this year's Embedded Systems Conference, Linux loomed large in almost every booth. Talk about a year changing everything.
If you could travel back in time to the Embedded Systems Conference of September 1999, you would find that the “Embedded Linux Market” simply did not exist one short year ago. Sure, a growing number of developers and a handful of companies were starting to embed Linux, but as a market that anyone tracked, or paid attention to, embedded Linux simply hadn't made it onto the radar screens.
How many (and which) companies counted themselves as “Embedded Linux Companies” one year ago? How many embedded Linux news releases and new product announcements were issued at ESC in September 1999? Not many. One year ago, embedding Linux was a relatively rare phenomenon and was mostly the result of developer innovation—not the fruits of marketing plans and promotional strategies.
There were some exceptions, some pioneers. To find out what was going on in the “world of embedded Linux” one year ago, I turned to my favorite research tool (can you guess?) and scanned headlines around the time of ESC, September 1999. That search turned up many of the seeds of today's embedded Linux market. Companies making headlines about embedded Linux support included (alphabetically): Caldera, Cygnus, EMJ, FSM Labs, Lineo, MontaVista, PROSA and Zentropix. Early hardware partners for these embedded Linux pioneers included: Force, JUMPtec, Megatel, Motorola Computer Group, Synergy Microsystems and Ziatech. In particular, three embedded Linux announcements around the time of 1999's ESC foreshadowed the later formation of the Embedded Linux Consortium:
Zentropix announced RealTimeLinux.org, an effort to create momentum and consensus in real-time Linux solutions. Zentropix was later acquired by Lineo.
Cygnus announced the EL/IX API “in an effort to pre-empt the fragmentation of embedded Linux in the embedded computing segment.” Cygnus was later acquired by Red Hat.
Lineo announced an Embedded Linux Advisory Board (EMLAB), “an independent and vendor-neutral organization to promote and advocate the use of Linux in the embedded systems arena”.
Transporting back to the present—ESC, September 2000—where does embedded Linux stand today?
“Embedding Linux”, primarily an activity of innovative software developers one short year ago, has become the central focus of a rapidly growing number of commercial endeavors. The Embedded Linux Consortium, which didn't even exist seven months ago, already boasts over 75 corporate members. Major investments in embedded Linux, totaling hundreds of millions of dollars, have been made by industry powerhouses like Motorola, IBM and Intel.
It's important to understand that the embedded market would be going through a major transition, right now, with or without Linux. Independent of Linux, developers would be scrambling to satisfy the growing demand for both intranet and Internet connectivity. They would be hastening to take advantage of the opportunities presented by new low-cost 32-bit RISC processors coupled with abundant program and storage (Flash) memory. High integration system-on-chip processors based on MIPS, PowerPC and ARM cores make it both easy and inexpensive to embed full-system features in even the simplest and most cost-constrained systems. These emerging technologies have dramatically boosted the capabilities of embedded devices, and have also greatly elevated expectation levels.
In short, embedded Linux arrived on a scene that was already in the midst of great upheaval, with developers working hard and fast to apply newly available technologies to newly defined challenges. Because it provided low-cost, open-source, yet state-of-the-art functionality, Linux was well positioned to be swept along by the tide of change in the embedded sea. The open availability of source, coupled with today's unheralded ease and speed of collaboration and communication, turned out to be compelling factors that enabled developers to quickly and efficiently adapt to the challenges of a rapidly changing landscape. So Linux began to spread like wildfire in the embedded market.
As compared with last September's ESC, Linux support was found practically everywhere this year. Today, nearly every company has a Linux strategy—whether how to take advantage of Linux or how to defend against it. Non-Linux stalwarts like Wind River, Microsoft and QNX all exhibit symptoms to varying degrees of the necessity of coming to grips with life in a world where embedded Linux is an increasingly major factor. For example, both Wind River and QNX joined the Embedded Linux Consortium last spring as founding members.
In addition Jerry Fiddler, Wind River founder and chairman, now devotes several slides during his talks to defining his company's position relative to embedded Linux. In the open-source debate last ESC, John Fogelin, Wind River's VP of Technology, said, “We see point-of-sale, ATMs, Industrial PC and Internet Appliance applications as an opportunity where Linux can replace DOS and Windows NT. We embrace Open Source and are evaluating Linux as an OS option for Wind River customers. We are prototyping solutions based on Linux, now.” In the latest ESC open-source debate, Fogelin reiterated Wind River's support for Open Source—while missing few opportunities to cast a FUD net over embedded Linux.
These days, even Microsoft's Embedded & Appliance Platforms Group endeavors to promote a new image of openness and flexibility. Although no explicit mention is made of Linux, expressions like “source access”, “simplified licensing”, “flexible business model” and “Windows Embedded Developer Community” have crept into the new Microsoft lexicon.
While not directly supporting Linux, QNX Software Systems announced a strategic initiative last June to reposition QNX, a POSIX-compliant RTOS, as “Linux-like”. Among the changes were the opening up of source code for many QNX modules other than the still proprietary and royalty-based QNX Neutrino kernel, plus no-cost availability of the QNX development toolkit to individuals and developers. The get.qnx.com web site launched around the start of this year's ESC, and, by the end of the show, QNX reported that well over 100,000 copies of the free QNX toolkit had been downloaded by developers.
The most radical adaptation strategy of all came from Lynx Real-Time Systems, which last fall embarked on the path of adding Linux to its product line, along side the company's POSIX-compliant RTOS, LynxOS. Half a year later, the company took the further step of changing its name in order to more directly reflect its dual-OS (LynuxOS + Linux) strategy, becoming “LynuxWorks”.
Not surprisingly, this year's EE Times embedded market survey reports a huge jump in the use of Linux as a tool platform among developers, a 1,400% increase over the last 12 months.
Unfortunately, however, useful data was not gathered regarding the use and planned use of Linux—or even Windows—as a target platform in embedded systems, due to what appears to be a catastrophic flaw in the only relevant survey question. The single question on target OSes was worded in a manner that restricted its applicability to only real-time operating systems. The question asked in the survey was: Which of the following commercial real-time operating systems have you (A) used previously, (B) are you currently using or (C) plan to use within the next year? Only RTOSes, such as VxWorks, QNX, LynxOS, OS9, etc., were included in the list of OS choices. Not surprisingly, neither Linux nor Windows showed up in the results.
I strongly recommend that the question be revised so that it encompasses all categories of target system OSes, not specifically real-time ones. Whether the target system requires hard, soft or non-real-time performance should be the subject of a secondary question. Other questions of interest might include connectivity options, standards compliance (like POSIX, for example), etc.
Another telling measure of the expanding embrace of Linux by the embedded market is the meteoric rise of the Embedded Linux Consortium, which now claims over 114 members. Founded in March 2000 by 22 companies, the ELC held its first general membership meeting at this year's ESC in order to provide an opportunity for members to meet the newly elected board of directors and one another. Attendance at the meeting was estimated to be over 75 members and guests.
After brief talks by ELC chairman Inder Singh and “yours truly” on the state of the embedded Linux market and the mission and objectives of the ELC, and by John Cheuck, vice chairman of EMBLIX (the Japan Embedded Linux Consortium), the ELC began the process of selecting specific projects and activities. To assist that process, a questionnaire will shortly be distributed to ELC members asking for input on what the ELC should do, as well as what each member feels the ELC should not do.
Currently, the consensus appears to be strong for the ELC to stay away from being a standards organization, but, rather, to focus its efforts on building the sense of “Embedded Linux” as a brand. Speaking of which, the ELC has commissioned a permanent logo—one with the obligatory penguin—which the group wants to see strongly promoted by all of its members on their web sites and in their collateral materials.
Other likely projects for the ELC include a much larger booth for trade shows, including the possibility of hosting exhibits from individual members. The ELC may also form working groups to develop guidelines and recommendations that might be submitted to various standards bodies. Other ideas are being solicited.
There certainly seems to be a trend away from embedded PC architecture. That shouldn't be too surprising, given that the embedded PC is, after all, over 15 years old.
Intel's product announcements were roughly equally weighted between the latest embedded Pentium processors and the new StrongARM-derived XScale Microarchitecture. Other X86 processor vendors exhibiting at ESC included STMicroelectronics and ZF Linux Devices, with X86-based system-on-chip products, and AMD with its latest embedded K-series CPUs. Surprisingly, National Semiconductor, maker of the highly popular Geode X86 architecture system-on-chip processors, wasn't an exhibitor at the conference.
ARM, StrongARM, MIPS, PowerPC and other non-X86 architectures were well represented both at the booths of their manufacturers, and also at the booths of tool, OS and board vendors. Zilog, a corporate executive founding member of the ELC, seems to be bouncing back to life, and has revived use of the revered Z80 brand in more modern, connection-oriented processors. Who knows...maybe by next ESC, Zilog will have ported embedded Linux to the Z80!
On the board side, the traditional buses are still around. It's too soon to predict with certainty, but there's a hint of an emerging trend towards busless SBCs based on PowerPC, ARM and MIPS processors. Examples are the ADS Bitsy (StrongARM), Embedded Planet RPX (PowerPC), Intrynsic CerfBoard (StrongARM) and others. Even Ampro, one of the first and most prominent makers of embedded PC SBCs, has announced its intention to roll out MIPS versions of its new EnCore PCI-based platform.
In addition to the above trends and observations, here are two Linux-related items that especially caught my fancy.
Lineo's real-time clock demo, you've heard of real-time clocks, but this one was different! It's a bit hard to describe, so please bear with me. Fantazein makes a clock that “projects” the time via a set of LEDs on a wand that oscillates back and forth (see Figure 1 and 2). The LEDs are modulated at precisely the right rate to show the time, as if projected in space, as the wand sweeps back and forth. Okay, read the explanation on their web site (www.fantazein.com/how.html)—but hurry back!
Now that you've got the picture, I'll explain what Lineo did. They rewired the inputs to the LEDs so that they are driven by a PC parallel printer port. With an otherwise idle Linux system, words projected via the “clock” appear stable and readable. Then, the system starts doing some file transfers, and the display becomes completely unreadable. Now, control of the LEDs is switched to RTAI, a hard real-time Linux system. You guessed it; even with file transfers taking place, the display is rock solid. It turns out that even a Linux kernel with low-latency patches would not be able to make the display remain stable in the presence of high loading on the system. RTAI (or RTLinux), on the other hand, can do it easily. Bravo, on a great demo of hard vs. soft (or non-) real-time performance!
With all the talk about open-source operating systems and related software, how often do we hear about open-source BIOS? Sure enough, there are a couple of projects going on out there. But to date, there has been no truly well-supported effort to provide comprehensive technology for system initialization and startup. That situation appears to be changing, as a result of some new software being developed by Red Hat called RedBoot. The project is new, and there is much yet to be done, but RedBoot may soon be “booting” that proprietary BIOS out of many embedded Linux systems. If you've ever tried to use an embedded PC in a non-PC application, you probably had to struggle with issues like eliminating a long list of copyright messages, creating a custom splash screen, speeding the boot process, supporting custom hardware initialization or adding robust system diagnostics. RedBoot to the rescue!
Well, ESC is a really large show and there were, no doubt, many other important trends and interesting demos and products that I didn't see and haven't included. I guess you really do need to be there, to take it all in. See you next ESC? Perhaps at the rate Linux is spreading, they'll need to change the name to ELSC—the Embedded Linux Systems Conference!