~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware Update
- May 25, 2011
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
in this issue
-- How to Enforce Coding Standards (Automatically)
-- Upcoming Embedded Linux Training
-- Industry News That's Not Boring
-- Reader Q&A - Publish-Subscribe Message Bus

Firmware Update is a free newsletter by embedded software expert Michael Barr. The title is a registered trademark and the content is Copyright 2011 by Netrino, LLC, but may be reprinted for non-commercial purposes. Please forward it to colleagues who may benefit from the information.


How to Enforce Coding Standards (Automatically)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Coding standards can be an important tool in the fight to keep bugs out of embedded software. Unfortunately, too many gather more dust than followers. The hard truth is that enforcement of coding standards often depends on programmers already under deadline pressure to be disciplined while they code and/or to make time to perform peer code reviews. To ensure your selected coding standard is followed and thus effective, your team should find as many automated ways to enforce as many of its rules as possible. No code that breaks any of these automated checks should be allowed in peer code reviews.

One of the ways Netrino has found to increase compliance with its Embedded C Coding Standard is by configuring static analysis tools we already use to automatically enforce individual rules. This article explains how to do exactly that with the inexpensive RSM tool from M Squared Technologies.

Learn how...


Upcoming Embedded Linux Training
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Linux guru Bill Gatliff will be coming to the Washington, D.C. area next month to present a public session of the Embedded Linux Jumpstart course. This is a four-day, hands-on way to get started with real-time embedded Linux and device drivers. It will be held in Maryland June 27-July 1, 2011.

The course covers in detail the most important topics related to using Linux in embedded applications. To make the lab exercises even more realistic, you'll use a Linux single-board computer and custom hardware to control an N-Scale model locomotive over I2C, GPIO, or any other interface the Linux kernel supports including Ethernet and USB. At the end of this course, you will be well-experienced in writing complex Linux device drivers of many types, and will be ready to take that knowledge back to your own projects.

Register now...


Industry News That's Not Boring
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Iterating Over The Full Range in C. What's the best way? Blog: http://bit.ly/ieUwGr

Connected light bulbs? Welcome to the internet of things: http://bit.ly/jVDTyL

The "right" RTOS scheduling model for your real-time project. http://hub.am/iYqEQg

Is every smartphone, car black box, etc. a "computer" and thus every crime a cybercrime? http://bit.ly/mzpJgH

Circuit Cellar Electronic Toolbox app now available! Essential calculator and conversion tools for EEs. http://bit.ly/j0YHf6

The Nuclear Weapons Chain of Command: An Engineer's View. Comic: http://bit.ly/jDMvPs

Inside an FBI car tracking device. Photos: http://is.gd/eLNQ7J Video: http://is.gd/huQIyh

More like this...


Reader Q&A - Publish-Subscribe Message Bus
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
From a reader: "I met you at the ESC and you were gracious to give me your ideas on firmware architecture, specifically the concept of creating event-based firmware with a publish-subscribe bus for logging and injecting events to promote firmware testability. I thought you had written something on this in the past so I searched embedded.com and netrino.com but I can't seem to find anything. Do you have any more specifics or detail on the publish-subscribe bus? Particularly on the internal implementation of it?"

If you are interested in learning more about publish-subscribe bus implementations, look no farther than the articles and books by Miro Samek at quantum-leaps.com. His company's Quantum Framework, for which he has published and explained the code, has such a bus along with an efficient implementation in C and in C++.

Ask a question...


Quick Links
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • Embedded Software Training in a Box
  • Embedded C Coding Standard Book
  • Other Embedded Systems Books
  • Top Embedded Systems Blogs


  • Contact Information
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    phone: 866.78.EMBED
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~