Interest in embedded systems is exploding now that there is a fast-growing market for handheld computers, intelligent devices, network computers and the like. That's one reason why I was excited to go to the Embedded Systems Conference in San Jose, California recently.
Another was nostalgia. The first programming job I had back in the early 1980s was to write software for embedded systems. We didn't call them embedded systems at the time. As far as we were concerned we were building custom dual Z80 computers with some specialised hardware for digital signal processing.
We wrote all our software in Z80 assembler, cross compiled it on a Data General Eclipse system, and programmed the machines via a serial port. We debugged the software that wasn't time-critical with a Tektronix in-circuit emulator that pretended to be a Z80 CPU. Once we had a stable working version of our software, we burned the programs into erasable, programmable read-only memory (EPROM) chips and inserted them onto our system boards by hand.
Some things in the embedded systems world have changed since I did that work, but not as many as I expected. Several developers still use in-circuit emulators and burn EPROMs by hand. And a surprising number of developers are still trying to use 8-bit processors because they're so cheap. The problem is finding 8-bit processors, which is becoming increasingly difficult.
It seems the companies that serve the embedded systems vendors are moving much faster than the vendors would like in an industry where smaller/thinner/cheaper is the mantra.
I heard a number of attendees express disappointment that companies such as Intel and Microsoft seem oblivious to the need for cheap, simple, reliable solutions as they push the heavy 32-bit hardware and software. One attendee protested the fact that his company will have to spend much more for 32-bit processors when his soon-to-be discontinued 8-bit processor already does everything he needs.
Another fellow whose company is reluctantly moving to 32-bit software attended this show specifically to check out Microsoft Windows CE version 3.0 -- only to watch it blue-screen during the demo. That, among other things, eliminated CE as a possibility for his work.
When I asked him if he had considered using Embedded NT instead, he looked at me as if I had three heads. It's certainly more stable than CE, he admitted, but it's so bloated and expensive it's not even on the radar for his company. He is also discouraged by the price of alternatives like QNX. Embedded Linux seems more feasible, he added.
He's not the only one thinking along these lines. Despite the fact that there were only a few booths at the show devoted to Linux, I heard a lot of talk about how quickly Linux will sweep embedded systems. I wouldn't have predicted a quick success at first for Linux because it has one thing going against it with respect to embedded systems. The people involved in the ongoing development of the Linux kernel don't seem very interested in Linux as an embedded OS.
Unless a unified body of people direct the development of embedded Linux, it seems like it will evolve in dozens of directions. Lineo is talking about launching an independent organisation for this purpose. But because everyone developing embedded systems has such specific needs, maybe fragmentation wouldn't be such a bad thing after all. We'll see.
Regardless, I can see now that Linux is very likely to succeed in the embedded systems space regardless of fragmentation because it is free (or nearly so, depending on where you get it).
So while most of the folks I talked to acknowledge that there are many embedded operating systems that are far better than Linux, they say the low price of Linux often makes the choice a no-brainer.
The question is, when people shop for intelligent devices in the future, will they care enough about what's running under the hood to pay more? As long as you get the user interface and features you want, do you care if your personal digital assistant or cell phone is running Linux, Windows CE, Embedded NT or anything else? Let me know.
Nicholas Petreley is editorial director of LinuxWorld (http://www.linuxworld.com). Reach him at firstname.lastname@example.org, and visit his forum at http://www.infoworld.com