~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware Update - November 20, 2009
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this issue:
-- 5 More Ways to Keep Bugs out of Embedded Software
-- This Code Stinks! The Worst Embedded Code Ever
-- Breathalyzer Source Code Turns Up in Court
-- Industry News and Useful Links
-- Embedded Software Boot Camp's 2010 Road Show

Firmware Update is a free newsletter by embedded software expert Michael Barr. It is Copyright 2009 by Netrino, LLC, but may be reprinted for non-commercial purposes.


5 More Ways to Keep Bugs out of Embedded Software
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Among other things, those of you who joined my recent TechOnline webinar, learned 10 easy-to- follow C coding rules to keep bugs out of embedded software. But there are many more such rules than we had time to discuss that day.

Learn 5 more bug-killing rules...


This Code Stinks! The Worst Embedded Code Ever
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
At the Embedded Systems Conference, I gave a popular talk that used lousy code from real products as a teaching tool. The example code was gathered by a number of engineers from a broad swath of companies over several years.

Here's just one example:

y = (x + 305) / 146097 * 400 + (x + 305) % 146097 / 36524 * 100 + (x + 305) % 146097 % 36524 / 1461 * 4 + (x + 305) % 146097 % 36524 % 1461 / 365;

Despite a lack of comments, we eventually learned this computes the year (y), with an accounting for extra days in leap years, given the number of days (x) since a specific reference date. How can we know if it works in all cases? Is it safe for use in an FDA-regulated medical device?

See 7 more examples of bad code...


Breathalyzer Source Code Turns Up in Court
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware bugs seem to be everywhere these days. So much so that firmware source code analysis is even entering the courtroom in criminal cases involving data collection devices with software inside. Consider the precedent-setting case of the Alcotest 7110. After a two-year legal fight, seven defendants in New Jersey drunk driving cases won the right to see the source code for the Alcotest firmware.

The state and the defendants both ultimately produced expert reports evaluating the quality of the firmware source code. Though their respective experts reached divergent opinions as to the overall code quality, several facts seem to have emerged as a result of the analysis...

Judge for yourself...


Industry News and Useful Links
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
An Engineer's Guide to Dating, because "being yourself" isn't likely to help! Funny video: http://bit.ly/qJsQV

EETimes' "Worldwide Top Ten" list of female leaders in the microelectronics business. http://bit.ly/4fSdmd

Washington D.C. metro area incurs major delays as traffic management software fails and remains down. http://bit.ly/1ueKqN

An excellent analysis of the Microsoft Zune Bug: http://bit.ly/39Ubz8 Faulty source code: http://pastie.org/349916

Jack Ganssle is taking a salary survey of embedded system designers. Participate: http://bit.ly/3TTpaM

Software for Dependable Systems: Sufficient Evidence? Free PDF book: http://bit.ly/1llk5f

Are you a top programmer? Test your Embedded C++ knowledge in a free online quiz. http://bit.ly/2ngIEh Embedded C quiz here: http://bit.ly/BMc4

What's up with the public shouting match between Green Hills and Wind River? http://bit.ly/4giRju

McObject announces release of eXtremeDB 4.0 with improved performance, scalability, and flexibility. http://bit.ly/3ISe4t

Cavium Networks (who?) to acquire MontaVista Software for cheap ($50M). http://bit.ly/4j6xOL

Multicore software configurations. All the options: http://bit.ly/3iEuK2

Might RIM/BlackBerry save Palm/WebOS? Lacking its own ecosystem and constrained by weak financials, Palm needs help. http://bit.ly/14ktCD

GE Healthcare picks Eurotech board for embedded platform of healthcare data capture device. http://bit.ly/2rfnX4

Scan of Internet uncovers thousands of vulnerable embedded devices. http://bit.ly/2fVSbC

How safe is your C code? Not sure? Think you need help? Take Les Hatton's Safer C course: http://bit.ly/G1LAK

Is NXP changing the game with its 65-cent 32- bit MCU? http://bit.ly/2jCEFh Why not 64- cents?

EZ Pay parking meters in Chicago & Baltimore are drifting away from actual time by ticket- causing minutes, despite the manufacturer's claims they sync their clocks wirelessly each night. Video: http://bit.ly/IDiU

Adapted from my twitter feed...


Embedded Software Boot Camp's 2010 Road Show
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It's official: Netrino's Embedded Software Boot Camp is a hit. Thus we plan to take "the show on the road" in 2010, to as many cities as we can. If you are interested in attending, now is the time to make your location known. Please help us select the road show cities by answering 5 quick questions.

We'll announce the dates and locations in early December.

Help bring the Boot Camp to your city...


Quick Links...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • Embedded C Coding Standard
  • More Great Books about Embedded Systems
  • Barr Code Blog
  • Embedded Systems Glossary


  • Contact Us...
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    phone: 866.78.EMBED
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Email Marketing by