For novel ideas about building embedded systems (both hardware and firmware), join the 27,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. It takes just a few seconds (just enter your email, which is shared with absolutely no one) to subscribe.

By Jack Ganssle

Twenty Years On

For twenty years Embedded Systems Design (formerly known as Embedded Systems Programming) has been the only professional journal targeted at the working embedded developer. Twenty years is a long time, a generation in human terms, though in the microprocessor industry more like three or four generations. Some of 1988's young engineers are now grandfathers. Processors have come and gone. Once dominant companies no longer exist, new ones formed, and some giant semiconductor companies got completely out of the business.

Twenty years ago PCs had 80386 processors operating at 33 MHz, a speed pretty well matched to DRAM cycle times. They neither had nor needed cache. Those CPUs, built with the latest 1 micron semiconductor processes, sported a quarter million transistors. That was a hundred times more than in the very first microprocessor, and a thousand times less than in today's high-end parts.

Today 45 nm devices are in production, which is 20 times more compact than those in 1988. I'm told that gate oxides are now an astonishing six or seven atoms thick. Processor speeds have increased by two orders of magnitude and on-board caches today hold millions of bytes, which is more memory than most early ESP subscribers had in their entire computer.

The 80386 is no more, Intel's last parts having shipped in 2007. In 1988 that CPU was utterly state-of-the-art; today it's laughably slow. Sic transit gloria.

Though the Macintosh existed it gained lots of attention but relatively few sales. Microsoft Windows was in its second version, but was unusable. MS-DOS ruled the OS desktop landscape, which by 1988 was pretty much the standard development platform for embedded programmers, though some workstations and custom development platforms were in use. Most engineers had hard drives with under 100 MB capacity. not even enough for a copy of today's version of Microsoft Word.

Twenty years ago the embedded industry was merely 17 years old, an acned teenager, undergoing growth pains. Most of us worked in assembly language. Only a few years had gone by since Ed Lee of Prolog fame convinced too many that assemblers were evil and real programmers coded in hex. A lot of devotees drank that poisonous cool-aid.

C wasn't common in embedded systems. In fact, the C landscape was a battleground as every vendor implemented their own dialects of the language. Manx C, K&R C, Whitesmith's C, all were subtly different. ANSI C didn't exist, though a committee was hard at work coming up with the standard.

Ada had an ANSI standard, though, and, in 1988 the DoD had just mandated its use in most new software products they acquired. That requirement was eliminated a decade later. Now Ada's market share has fallen to just a few percent, losing out to C and increasingly C++.

C++ was available; the first edition of The C++ Programming Language had been published in 1985. But there was no standard of any sort, and the language, even in 1988, didn't have multiple inheritance and many other features now codified in the 1998 ANSI standard. Virtually no one used the language in the embedded world.

Oddly, debuggers were in some ways better than those today. In-circuit emulators were extremely common, and offered real time trace collection, hardware performance profiling, very sophisticated breakpoints, and much more. Much more, in fact, than offered by today's BDM/JTAG units. But the software debuggers that drove ICEs were primitive. Though source level debugging existed, it wasn't necessary since a disassembled code fragment looks pretty much like the original assembly language developers were using. Debuggers used a multitude of ad hoc windowing schemes under DOS, or made do with simple command-line interfaces.

Some of the big advertisers in the early issues of Embedded Systems Programming were then, as now, tool vendors, and maybe the most common ads were from ICE companies. The intervening decades haven't been kind to most of these outfits. The King of Emulators, Applied Microsystems, once sold $40m worth every year. They're gone. Softaid - gone. Nohau, the best provider of 8051 emulators: gone, though reincarnated in a more limited form. Metalink, Northwest Instruments, Huntsville Microsystems, Orion, and more, all disappeared.

For processors were a-changin'. In 1988 most embedded CPUs were through-hole or PLCC devices. Engineers could easily probe though-hole parts, and even surface-mounted PLCC devices were reasonably accessible. But pitch sizes have shrunk in the intervening years to such an extent it's no longer possible to connect an emulator. New packages, like ball grid arrays (BGAs) make the pins completely inaccessible. I have one part on my desk that less than a square inch yet has 1500 BGA balls. Couple these impossible packages with clock rates that shot from 1988's few tens of megahertz to today's GHz speeds and it became all but impossible to reliably establish mechanical and electrical connections to a processor's pins.

The emulator in many situations has been replaced by BDM/JTAG debuggers, which didn't exist when ESP first hit the newsstands. Though the Joint Test Action Group was founded in 1985, the standard was originally meant for testing connections after manufacturing a PC board. If memory serves TI first extended the idea to debugging. Motorola invented the BDM debugger in the 90s. And Motorola, in 1988 one of the most important embedded CPU vendors, got out of the merchant semiconductor market when it spun off Freescale in 2004.

Intel, the greatest of all semiconductor vendors, the company that invented embedded computing, has now abandoned all of their embedded processors with the exception of their very high-end CPUs. Happily, their inventions live on in 8051 variants from many other vendors. Even the Z80 architecture, derived from Intel's market-rocking 8080, still exists and sells well.

Other companies disappeared or were absorbed. Consider the tangled web spun by Integrated Systems Inc (ISI) and Wind River. Both companies' stock soared in the heady 90s. ISI bought Diab, a compiler company, in 1995, and followed that with the acquisition of Dr. Design in a 1996 stock swap. They bought Software Development Systems (SDS), another very successful compiler company in 1999 as the dot-com mania reached hysterical levels, and merged SDS into the Diab group.

Months later Wind River bought ISI for $417m in a stock transaction and almost immediately started phasing out the latter company's flagship RTOS, pSOS, to the consternation of many. But, one wonders how they could keep pSOS and VxWorks.

In early 2000 they purchased Embedded Support Tools, a supplier of hardware and software products that didn't even exist when ESP's first issue came out. WRI's stock about that time momentarily flirted with $50/share, about five times today's valuation.

In 1999 Jerry Fiddler, Wind River's chairman, said he thought $1b in revenue was quickly achievable, but shortly thereafter the irrational exuberance that drove the market was replaced by dismal despair. Along with the dot-com bust the datacomm market imploded, with shattering results for the company.

One employee could have worked for SDS, then been working for Diab management under ISI's umbrella, and then been an employee of Wind River, all in the course of a few months.

Many wags proclaim that all good things must end, but all bad ones do, too, and as datacomm recovered, so did Wind River's fortunes. They have now strongly embraced Linux as an embedded operating system. Yet Linux, a critically-important product in this space, didn't exist in 1988. Neither did Windows CE. "Operating system," in the embedded world, meant home-made multitaskers or offerings from a few commercial offerings like VxWorks, pSOS, or VRTX. The latter was sold, at the time, by Ready Systems, which later merged with Microtec Research (in 1993), which in turn was sold to Mentor Graphics two years later. Jim Ready, Ready System's founder, went on to form MontaVista in 1999 which pushes, ironically, Linux for the embedded domain.

Recently Microchip Technology crossed the $1b in annual sales threshold. They didn't advertise in early issues of ESP, because the company didn't exist. They were formed in 1989 when investors bought the failed PIC architecture from General Instruments. Some 5 billion PICs later Microchip proved that effective marketing can overcome a design that is neither C-friendly nor particularly expansive in resources. I believe they pioneered the concept of getting low-cost development platforms out to tens of thousands of engineers. Design wins inevitably follow. And, perhaps more than any other company, Microchip has pushed the idea of "how low can you go," effectively limbo-ing processors into ultra-cheap applications unheard of in 1988. If there's one thing we can be sure of when the January, 2028 issue of ESP goes to press (well, goes to .PDF), it's that the world will be full of even tinier applications unimaginable today.

None of the regular columnists on ESD's masthead today were writing for the magazine in 1988. P.J Plauger, now of Dinkumware fame, wrote a hugely popular monthly article. My Breakpoints column appeared the following year. I can no longer open some of those early articles as the file formats are no longer supported.

My favorite ESP/ESD articles were the 1992 series by Jean Labrosse that introduced the uC/OS operating system. The book that he later published is, I'm told, the most successful embedded tome every. uC/OS, now in it's second release, is still a hugely popular product which is gaining market share rapidly.

Keil ran ESD's best-ever ad in 2005. The product: Embedded Cobol! Though it ran in the April issue as a joke, Keil tells me they got orders.

"Picture" that.

ESD magazine is intrinsically linked to the Embedded Systems Conference. The first one was in September of 1989, held at the Sir Francis Drake hotel in San Francisco. A handful of exhibitors had table-top displays. Something like 400 attendees showed up, a dribble that hardly foreshadowed today's 15k that make their way to the Boston and San Jose shows in recent years. The city's cable cars run right outside the Sir Francis Drake, and I remember hearing their Rice-A-Roni bells throughout the conference.

That first ESC had two keynotes. Intel's Andy Grove gave a wonderful talk to a mesmerized audience. At question time one manner-deprived engineer harangued him about the x86's "awful" segmented architecture. Ironically, the 386's segmentation scheme is desperately needed by embedded processors today, yet few CPUs have it. That sort of hardware memory management could go a long way to making more reliable systems.

The second was by P.J. Plauger. I forget the talk's content but still get a chuckle when thinking of the wizard's costume he wore.

Since that show I've managed to attend and speak at every ESC except a couple that were in the summer. Though I go to a lot of conferences, the ESC remains my favorite due to the relevant classes, interesting exhibits, and of course the fascinating people.

The technology we use today would in many cases be inconceivable to a 1988 ESP reader. Many of the products exhibited at today's ESCs simply could not have existed back then. But the one constant has been the twenty years the magazine has been keeping us informed and sometimes entertained. In 1988 it was available only in a dead-tree version. Today the content is also hyperlinked on-line. In another two decades no doubt it will be beamed directly into our neocortexes.

But embedded systems will be even more important to the world than they are today, and I've no doubt ESD will be the primary journal for us engineer.

Tell us your experiences with the magazine, or the show!

Do you need to eliminate bugs in your firmware? Shorten schedules? My one-day Better Firmware Faster seminar will teach your team how to operate at a world-class level, producing code with far fewer bugs in less time. It's fast-paced, fun, and covers the unique issues faced by embedded developers. Here's information about how this class, taught at your facility, will measurably improve your team's effectiveness.