http://twitter.com/netrinomike
Embedded Systems Expert
Areas of Expertise:
|
|
|
Breathalyzer Source Code Analysis
November 05 2009
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 DUI… read moreThis Code Stinks! The Worst Embedded Code Ever
November 05 2009
At the Embedded Systems Conference Boston in September, I gave a popular ESC Theater talk titled “This Code Stinks! The Worst Embedded Code Ever” 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… read moreTechBites - A Collaborative Community for Engineers
November 03 2009
Since at least as far back as January 1999, when I wrote a white paper describing the idea to some colleagues, I've wanted to participate in a collaborative community for embedded systems design engineers. I felt then, as I do now, that the collective wisdom spread across the community is… read moreHelp Bring the Embedded Software Boot Camp to Your City
October 30 2009
When Netrino announced the first public offering of the Embedded Software Boot Camp a year and a half ago, I had no idea how popular it would be. Or just how much I could love teaching the intensive hands-on week-long version of the training we had developed over many years.At… read moreFact-Checking the Birth Rate of Mobile Phones
October 14 2009
As a user of micro-blogging site twitter (follow me at @netrinomike), I recently came across this brief note from @intel_jim:Paul Steinberg, Motorola Chief Architect, "World has 2 births/second but buys 32 mobile phones/second". xTCA webcastWow, I thought, I need to blog about the even more impressive birth rate for CPUs… read moreLogs and the Logging Loggers who Log Them
October 07 2009
There is some excellent concise advice about creating a logging framework for embedded software in the recent MD&DI article "Software Design for Test".Portions of the advice are so good, they bear restatement in the context of our ongoing discussion about reliable firmware architecture:1. Verbosity The API for your logger module… read moreSlack Scheduling vs. Rate Monotonic Analysis
October 02 2009
The "slack scheduling" technique described in a recent Embedded.com article by Bill Cronk is interesting to me for a few reasons. First, because a traditional priority-based preemptive RTOS used in conjunction with RMA priority assignment offers all of the pros and none of the cons of the described slack scheduling… read moreOctober 01 2009
A couple of years ago, Netrino engineer Dan Smith was writing stepper motor control firmware that interfaced to lots of registers with binary fields and sub-fields. After struggling a bit with the usual error-prone "off by 1 bit shift" masking and conversion from binary to hexadecimal literals in C, he… read moreWhere Have All the RTOS Vendors Gone?
September 23 2009
I'm pleased to report that the Embedded Systems Conference is alive and well here in Boston this year. This success is despite the recession and changes that have caused some other technical trade shows to folded this year (yup, I'm talking about you Software Development Conference). There's even going to… read moreRobust Embedded Software Architecture in 5 Easy Steps
September 17 2009
Over the past few years, I’ve spent a large amount of my time consulting with and training software development teams that are in the midst of rearchitecture. These teams have already developed the firmware inside successful long-lived products or product families. But to keep moving forward, reduce bugs, and speed… read moreTake the Mutual Exclusion Challenge
September 10 2009
If you've been reading my articles or blog for a while, you've probably noticed a few pieces about the differences between mutexes and semaphores. The most concise presentation of these issues that I've made was published last year in Embedded Systems Design. That article, called Mutexes and Semaphores Demystified is… read moreTo C++ or Not to C++ - That is the question...
August 29 2009
There are raging discussions about my latest column, Real Men Program in C, going on at Techonline.com and Reddit.com. Though it was never my intent to malign C++, some of the forum participants have headed off in that direction. Even Dan Saks has been compelled to weigh in, in his… read moreAugust 03 2009
A couple of months ago, I ate a pleasant lunch with a couple of young entrepreneurs in Baltimore. The two are recent computer science graduates from Johns Hopkins University with a fast-growing consulting business. Their firm specializes in writing software for web-centric databases in a language called Ruby on Rails… read moreFirmware Wall of Shame: Garmin GPS Bootloader
July 15 2009
Some of Garmin's GPS units (including members of the popular nuvi product family) are apparently locking up during the software upgrade process. Sounds like a bug in their bootstrap loader (a.k.a., bootloader) to me. A fix is now available. Full details at http://garmin.blogs.com/my_weblog/2009/06/ask-garmin-free-mandatory-gps-software -available-now.htmlJoin the conversation at http://www.embeddedgurus.net read moreJune 23 2009
First, an Airbus A330 fell out of the sky. Then two D.C. Metro trains collided. Several hundred people have been killed and injured in these disastrous system failures. Did bugs in embedded software play a role in these disasters? And what will be the third disaster headline?An incident on an… read more