Quantcast
Michael Barr

http://twitter.com/netrinomike

Embedded Systems Expert

Areas of Expertise:

  • real-time operating systems
  • embedded software
  • firmware development process
  • software architecture
  • consulting
  • speaking
  • programming
  • training
  • writing

Biography

Michael Barr is an internationally recognized expert on the design of embedded computer systems. In that role, he has provided expert witness testimony in federal court, appeared on PBS’ American Business Review, and been quoted in various newspapers.

Michael is the author of three books and more than forty articles on embedded software development. For three and a half years Michael served as editor-in-chief of Embedded Systems Programming magazine. In addition, Michael has been a member of the advisory board of the Embedded Systems Conference. Software he wrote continues to power millions of products.

Michael holds B.S. and M.S. degrees in electrical engineering and has lectured in the Department of Electrical and Computer Engineering at the University of Maryland, from which he also earned an MBA.

Books

Articles

Blog

Michael's blog posts are hosted at:
http://www.embeddedgurus.net/barr-code/

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 more

This 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 more

TechBites - 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 more

Help 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 more

Fact-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 more

Logs 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 more

Slack 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 more

Binary Literals in C

October 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 more

Where 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 more

Robust 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 more

Take 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 more

To 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 more

Real Men Program in C

August 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 more

Firmware 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 more

Firmware Disasters

June 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