Watching the growing interest in Android among developers at the Embedded Systems Conferences, I feel as if I have gone through this experience before. As baseball legend Yogi Berra put it: “It’s déjà vu all over again. ” But not quite.
My impressions have to do with the way mobile phones and smartphones have evolved and the involvement of embedded systems design technology at various stages through their short history.
In many ways, what is happening has direct parallels to what occurred in the early days of the personal computer market. But there are also tantalizing differences, the significance of which I have yet to determine.
First let’s look at the past, in which the PC market went through three stages. In Stage 1 , in the late 1970s diverse personal computing systems were built using diverse OSes, processors, buses, software, tools and hardware borrowed from existing embedded systems, which were based on the industry’s first microprocessors – Intel’s 8080/8086/8048 families, Motorola’s 6800/68000 devices, and about half a dozen or so smaller competitors.
Before a standard PC platform existed, the majority of these processors were embedded in industrial, automotive, and consumer white goods to replace bulky mechanical and electromechanical intelligence.
There was a variety of personalized computer systems, but no common architecture. They were built from pre-existing bits and pieces borrowed from hardware and software for the embedded markets. My first home computer used an 8 bit Z80 CPU and 64k bits of DRAM. Everything was connected via an 8-bit wide S-100 bus, which borrowed heavily from the backplane buses used in industrial apps. I think the display was a converted TV monitor.
Similarly, the software was just as eclectic and borrowed. The operating system I used was called CP/M (Control Program/Monitor) and was designed originally to work with the Intel 8080 Development Systems. The word processor was a primitive in-memory text editor like the ones programmers used for coding.
Then in the early 80s the IBM PC became the de facto standard, marking the beginning of Stage 2 , where the experience software and hardware engineers gained in embedded designs was applied to the exploding PC market.
On the heels of Stage 2 came Stage 3, where embedded developers looked at this standard platform and started using it in their traditional embedded designs, albeit with some modification to meet the specific requirements of the various industrial, automotive, mil/aero, and consumer apps.
In the evolution of the mobile and smartphone market, Stage 1 was the point not too long ago where dozens of companies used diverse embedded processors, real time operating systems, and embedded software tools to build their mobile phones. Embedded developers, familiar with the borrowed building blocks, were in great demand.
Now we are in Stage 2. There are fewer processors – maybe three or four – and about as many software platforms developed specifically for mobile/smartphone devices. They are all competing to become the de facto standard, with Google’s Linux-derived Android platform grabbing the attention of most embedded developers.
Embedded developers are still in demand, not so much because of their past experience with the building blocks, but mostly due to their expertise in resource-constrained environments, a characteristic mobiles and smartphone share with more traditional embedded designs.
At ESC this week, I see developers moving to Stage 3: using the new mobile/smartphone specific building blocks not only to develop apps for smartphones, but also adapt them for traditional real time and deterministic embedded systems.
This time around, however, while there are many similarities, there are also big differences, all of which will add a unique twist to the evolution of such platforms, particularly in embedded applications.
One thing that is definitely the same is the Apple factor. In the desktop computer market, the competitor to the IBM PC was – and still is – Apple and its Macintosh. In mobile smartphones and consumer embedded devices, Apple is also there with its iPod, iPhone and iPads and its own processor and operating system. Similar to the Mac, Apple’s “iPlatform” is a closed proprietary system. And unless Apple changes its ways, developers are not likely to bother to adapt it to traditional embedded applications.
But unlike the PC market, where Microsoft’s Windows platforms and Intel’s various x86 CPUs operated in lock-step, things are much different now. In addition to Android, Microsoft also has its various Windows Embedded and Windows Mobile platforms. Indeed, at ESC there is an Windows Embedded OS class track.
On the hardware side, Intel is in both mobiles and embedded apps with its new x86-based Atom CPUs, competing with the ARM and MIPS CPUs. Numerous RTOSes run on the architecture and, through its acquisition of Wind River Systems as a wholly owned subsidiary, Intel is a major provider to the embedded market of not only its own proprietary RTOS, but several versions of Linux.
As things continue to evolve, it will be interesting to see how much the current mobile/embedded market will match the evolution of the PC/embedded market, and how much it will differ.
Embedded.com Editor Bernard Cole is also site leader of iApplianceweb and a partner in the Techrite Associates editorial services consultancy. He welcomes your feedback. Call him at 602-288-7257 or send an email to .