feature article
Subscribe Now

ESC Revisited

Connecting Dots in the Chaos

As promised, we want to bring you the best, most important messages from the show distilled down into punchy, trip-report-worthy text bites, suitable not only for framing, but also for cutting, pasting, and turning in to your boss as plagiarized proof positive that you were out there gathering the key information that will propel your company’s embedded systems development for the next year and, just maybe, justifying that $200 bottle of wine carefully camouflaged on your trip report. Remember, if you can’t spell, edit in a few typos – for realism – with your own typical mistakes. Our copy editor is really good.

—————————— cut here for boss-consumable section ————————–

This year, a number of technology trends were in evidence at the embedded systems conference. Starting on the software development side, the growth of Eclipse-based embedded development continued at an astronomical rate. There are now two major (generalized) camps in embedded software development – Eclipse and Microsoft. Eclipse seems to want to be the embedded environment for the rest of us – the people’s programming tools. Based on open-source development but powered by major engineering and IP investments by large (in embedded industry terms) embedded software companies, Eclipse promises to equalize the competitive landscape, reducing the competitive distance between giant, well-funded suppliers like Microsoft and many of the mid- and smaller-sized (in Wall Street terms) companies engaged in marketing embedded development tools.

The theory on the Eclipse side is that the “cost of entry” engineering work can be done once and shared in the public domain, allowing these smaller companies to get straight to the “value added” bits so they can make maximum profit on a minimum engineering investment. One issue, initially at least, is that Eclipse has subsumed a number of capabilities that were profitable businesses for many of these suppliers, forcing them to drop cash-cow products and move to support Eclipse-based tools offering the same capabilities. Overall, most of the players seem happy about the tradeoff, however, with vendors like Wind River investing both marketing and engineering capital in the effort at a convincing rate. Almost every supplier of embedded software tools now boasts at least some connection to Eclipse.

On the Microsoft side, the proposition is complementary. While the embedded software market may seem large to a lot of us, it’s peanuts compared with the current size of the desktop and enterprise markets dominated by the world’s largest software company. Their software development tools and methodologies are de-facto standards across most of the software-creating world, and embedded applications are just one small subset of the space spanned by their technology. If you’re starting a project and want to hire software developers, more of the world will be trained on Microsoft’s methodology than any other. One big disadvantage (when compared to Eclipse) is that Microsoft doesn’t have legions of open-source developers around the globe selflessly contributing their creations to the platform. On the other hand, one significant advantage Microsoft enjoys is that they don’t have legions of open-source developers around the globe selflessly contributing their creations to the platform. Go figure.

One notch down from software development tools is the highly competitive RTOS arena. Wind River, Microsoft, Green Hills, Mentor Graphics (repeat it three times; their embedded division no longer goes by “ATI”), Express Logic, Lynuxworks, and many others wrestle for seats and sockets with a variety of specialties and business models. To sort these quickly, there are two basic technical classes of embedded OS – hard real-time and regular, not-so-hard real time. There are also at least three basic business models – open source, proprietary royalty-free, and royalty-based proprietary (so far, nobody has cooked up much of a royalty-based open-source scheme). Beyond that, there are a number of footprints – small, medium, and large, and a number of specialty OS implementations that have qualified under various industry and government certification standards.

By the time you split up the available offerings into bins based on these criteria, you’ll see that there really isn’t so much competition after all. Most applications are clearly driven by requirements on each of these axes, and most of these points are served by one or two OS options at most. Now, if somebody would just convince the OS vendors of that, they could stop all the competitive positioning and focus their attention on bug fixing, performance improvement, and new features (in that order). That would be nice!

While we’re developing all that software on all those operating systems, we’re likely to create more than a few bugs. (It’s OK to let your boss read this part — he knows about the bugs already, and it adds to the realism.) A number of the vendors exhibiting at ESC are working to try to help us locate and prevent those bugs. The big problem with bug hunting in embedded systems is the diversity (and often unavailability) of the computing environment. With desktop-based software development, you drive down a wide, well-paved road where literally millions of programmers have gone before. The hardware configuration, OS support, development tools, and programming languages and IP have all seen countless projects like yours, long before you started. Everything is waiting for you in well-proven, orderly packages.

In embedded development, however, most of your work is in unfamiliar and unproven territory. You’re probably the very first to use the exact computing hardware you’re programming for, and a working model may not even exist yet. You may be doing your development and debugging on prototype hardware, in an emulation environment, or using a system simulator. You just know that those pansy, pampered desktop developers have no idea how easy they have it.

Jumping to the hardware side, AMD, ARM, Freescale, Intel, MIPS, TI, Altera, Xilinx, and a number of other vendors all have exactly the right processor for your next embedded application. Really. It turns out that the embedded world hit the power/performance wall before the desktop PC market did, so it was driven earlier to the myriad of multis – multi-core, multi-thread, multi-processor, and multi-just-about-everything-else that have been gaining steam (and making trouble for developers) for quite awhile now. The processor vendors can legitimately brag. Their part is comparatively easy, in reality. The tough part is the wrath they unleash on the embedded development side where compilers, operating systems, debuggers, and other mono-processor-minded products suddenly fail in the face of parallelized perplexity, creating engineering hassles and market opportunities aplenty.

The choice of processor is also probably fairly straightforward for many embedded design teams, based on considerations like legacy software and other standards that lock them into one architecture or one vendor’s processor technology. For those companies that have a choice, the lessons of the early microprocessor market should be heeded. The hardware is less than half the story. The development environment support is the deal. A few more megaflops won’t bail you out if your design isn’t done on time.

Another trend strongly in evidence at ESC this year is the incessant incursion of programmable logic (field-programmable gate arrays, or FPGAs). [For full coverage of that trend, see our FPGA Journal feature article on the topic.] FPGAs have a basic technology proposal that sounds simple but has complex implications – FPGAs make hardware soft. At their easiest-to-comprehend level, FPGAs are like poor-man’s ASICs – custom chips that you can program yourself. That simple mental model, however, belies the true power that programmable logic can bring to a system design – the ability to not only subsume just about the entire system onto a single chip, but also the ability to make that entire system soft, and often field-modifiable. The only true “hardware” left in a totally FPGA-based system is the FPGA’s connection to the board. Everything else, even those things traditionally considered as “hardware,” can be configured and reconfigured in the field.

This softening of traditional hardware components makes it feasible to produce very generic development boards that can perform just about any embedded system function under the sun (even, specifically, orbiting the earth). If you load up a board with a high-performance processor, some memory, an FPGA, and connections from the FPGA to everything, including the edges of the board, you have a basic do-anything, go-anywhere embedded system. Need to accommodate a special new I/O standard? Reprogram the FPGA. Need to transfer data between two incompatible devices? Reprogram the FPGA. Need to accelerate a compute-intensive algorithm into hardware to get supercomputer-like performance in your card-sized device? Reprogram the FPGA.

Choose the right development board and design software, and you can have a highly complex embedded system up and running in record time. Your only remaining task is cost-reducing your already fully-functional prototype. Life is good.

ESC is a veritable orchard of development boards. At any given moment on the show floor, the number of development boards and the number of conference attendees are probably in close competition – with the nod normally going to the boards. For the near future, then, the true contest in embedded systems may be a battle of the boards and of the tool suites that support them.

Leave a Reply

featured blogs
Nov 22, 2024
We're providing every session and keynote from Works With 2024 on-demand. It's the only place wireless IoT developers can access hands-on training for free....
Nov 22, 2024
I just saw a video on YouTube'”it's a few very funny minutes from a show by an engineer who transitioned into being a comedian...

featured video

Introducing FPGAi – Innovations Unlocked by AI-enabled FPGAs

Sponsored by Intel

Altera Innovators Day presentation by Ilya Ganusov showing the advantages of FPGAs for implementing AI-based Systems. See additional videos on AI and other Altera Innovators Day in Altera’s YouTube channel playlists.

Learn more about FPGAs for Artificial Intelligence here

featured paper

Quantized Neural Networks for FPGA Inference

Sponsored by Intel

Implementing a low precision network in FPGA hardware for efficient inferencing provides numerous advantages when it comes to meeting demanding specifications. The increased flexibility allows optimization of throughput, overall power consumption, resource usage, device size, TOPs/watt, and deterministic latency. These are important benefits where scaling and efficiency are inherent requirements of the application.

Click to read more

featured chalk talk

ROHM’s 3rd Gen 650V IGBT for a Wide range of Applications: RGW and RGWS Series
In this episode of Chalk Talk, Amelia Dalton and Heath Ogurisu from ROHM Semiconductor investigate the benefits of ROHM Semiconductor’s RGW and RGWS Series of IGBTs. They explore how the soft switching of these hybrid IGBTs contribute to energy savings and power generation efficiency and why these IGBTs provide a well-balanced solution for switching and cost.
Jun 5, 2024
33,756 views