“Who is really using Linux as an embedded OS?” That was the question a group of editors, consultants, engineers, and general layabouts were musing over recently. So one of them decided to engage in a little incendiary research and produced a piece called “Is Embedded Linux a Bust?” and accompanied it with a poll eliciting information about the use of embedded Linux. There were about 250 responses with the results showing about 35% using embedded Linux and 65% not.
Then a reference to the piece appeared on Slashdot, and in 24 hours the number of responses jumped by 200 and the ratio changed to 45%/55%. The mailbox was suddenly bristling with pro-Linux responses. Perhaps we were able to dig out a little useful information. Perhaps, like the first language usage poll we did a year or so ago in which Ada triumphed over C and C++ for embedded development, a little ballot box stuffing was going on. In the very near future, Jack Ganssle will again don his asbestos suit and seek out the truth. In the meantime, while licking this week's wounds, he raises the question of the importance of the connection between your job title and your degree. He gives you your chance to offer your opinion in this week’s poll
Bernie Cole has chosen to rise above the Linux flames. This week he ties Ptolemaic cosmology (the incendiary issue of the 1500s) to network processor programming, truly a feat of derring-do. Learn for yourself about today's need for a new Copernicus in “Defining a Network API”.
Now on to highlights of the December issue of Embedded Systems Programming .
In “Modular Programming in C” John R. Hayes says that separating the interface from the implementation offers a number of practical benefits. Then he demonstrates a simple way to do just that in ANSI-standard C code.
Expensive, fragile, and unique systems are hard to test. You know the first releases of the software embedded in them will fail, but how? Martin Gomez says that hardware-in-the-loop simulation can lower the cost of finding out.
It's amazing what you can do with a single general-purpose I/O pin. Michael Gauland offers a comprehensive look at the bit-twiddling possibilities.
Berylium and Chromium are two satellites under development and planned for launch in 2002. Together they are referred to as Emerald. Their purpose is to measure the effects of atmospheric lightning. In “Inside Look: Emerald” Bill Gatliff describes how these satellites are being designed and built on a shoestring budget of $120,000.
What has the world come to? Copiers, coffee machines, and microwave ovens are as likely as not to be equipped with a graphical user interface. Even so, they are embedded systems with all the traditional memory limitations associated with such systems. Two-dimensional transformations can be the key to reducing the memory cost often associated with GUIs. All you need to start is a simple set of drawing primitives, says Tom Batcha in “Compact Graphics Code”.
GUIs in embedded systems notwithstanding, it's still tough to gain visibility into the functioning of code on your target. An in-circuit emulator can give you that visibility and do a lot more — if you can get it connected. For practical information on using this powerful debugging tool, take a look at this month's Beginner's Corner.
Embedded systems development isn't easy and schools may not offer as much help as we'd like. Despite claims of preparing people for the workforce, traditional computer science and engineering programs fall woefully short on providing students with practical hands-on experience, says Michael Barr in his editorial, Hands On.Dan Saks tries to ease embedded development woes by offering pointers for developing code that is ultimately destined for ROM. This month in “Enumeration Constants vs. Constant Objects” he says that choosing between symbolic constants as either enumeration constants or constant objects is a close call and offers some insights to break the tie. For those of you who have mastered embedded software development and are looking for new thrills, the peripatetic Jack Ganssle offers his $0.02 on eXtreme programming. He'll tell you what it is and how it applies to embedded software development.
If you take a glance at the Embedded Bookshelf, you'll discover it has been reorganized — finally. It should be easier to locate books now. Books have been slotted into several categories:
- Embedded/Real-time Programming
- Software Design (including OOAD, UML)
- User Interface Design
- Hardware (Design and Reference)
- Digital Signal Processing
- Real-time Operating Systems
- Communications and Networking (Wired and Wireless)
- And last, that indispensable category, Other.
The Embedded Bookshelf links to Amazon.com where you can investigate and purchase books of interest. The bookshelf also features a list of the top selling books based on Amazon sales rankings.
This week, two new books have been added to the bookshelf as well.Embedded Systems Design: An Introduction to Processes, Tools & Techniques , by Arnold S. Berger and Fundamentals of Embedded Software: Where C and Assembly Meet , by Daniel W. Lewis .
But wait, there's more. At Download Central, you'll now find Berkeley DB, a toolkit for developing “fast, reliable, scalable, and mission-critical” databases. The free download includes source code, documentation, and support for building the library on a large number of operating systems and hardware platforms.