~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware Update
- February 6, 2013
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
in this issue
-- Variable Naming Rules for Real-World Quantities
-- Invest in Upgraded Design Skills This Spring
-- Dead Code, the Law, and Unintended Consequences
-- Updated Coding Standard Book Now Available
-- Industry News That's Not Boring

Firmware Update is a free newsletter by embedded guru Michael Barr. This issue is Copyright 2013 by Barr Group, but may be reprinted for non-commercial purposes. Please forward it to colleagues who may benefit from the information.


Variable Naming Rules for Real-World Quantities
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Part of what makes embedded systems fun is that the software normally interacts with the physical world. The physical world contains analog quantities that we measure using transducers, signal conditioning circuits and so on, such that ultimately we end up with a variable in the code that purports to represent this real world parameter. When dealing with real world quantities, it is advantageous to follow these four simple rules for naming variables.

Learn how...


Invest in Upgraded Design Skills This Spring
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Embedded Boot Camp The technology of embedded systems is always changing. Every few years you need new skills to keep up and stay productive. What will you do next to invest in better knowledge and skills? If you are ready to upgrade your skills this Spring in the areas of reliability, Android, and/or security, you are in luck.

Barr Group has an upcoming triplet of industry-leading hands-on week-long "Boot Camps" for embedded system designers:

It's time to take a step forward. Register today while space and discounts are still available. It is amazing how much you can learn in a single week when you eliminate daily distractions and focus like this.

Find out more ...


Dead Code, the Law, and Unintended Consequences
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dead code is source code that is not executed in the final system and comes in two forms. First, there is code that is commented out or removed via #ifdef's. That dead code has no corresponding form in the binary. Other dead code is present in the binary but cannot be or is never invoked. Either way, dead code is unnecessary to the product.

One of the places I have seen a lot of dead code is in my work as an expert witness. And I note that the presence of dead code can have unintended legal consequences. In at least one case I was involved in it is possible that the presence of certain dead code in the binary resulted in litigation being brought against a maker of embedded system products. I have also observed several scenarios in which dead code (at least in part) heightened the probability of a loss in court.

Read on ...


Updated Coding Standard Book Now Available
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Coding Standard I have recently completed a second edition of my popular book Embedded C Coding Standard. The rules themselves did not require changes and none were made. However, in addition to updating the name our company from Netrino to Barr Group I also expanded on some of the explanatory text and reworked and added to the example code snippets.

The new edition is now available for sale from our website, in print and PDF formats. You can also find the print and Kindle editions for sale by Amazon and select other (r)etailers.

Buy a copy ...


Industry News That's Not Boring
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Startup website CPUBoss.com makes it easier to compare CPUs.

Use "X macros" and the preprocessor to reduce C coding errors. http://www.embedded.com/design/programming-languages-and-tools/4403953/C-language-coding-errors-with-X-macros-Part-1

If driverless cars could communicate with traffic signals, traffic congestion could be significantly reduced. The Atlantic: http://www.theatlanticcities.com/commute/2013/02/virtual-traffic-lights-real-traffic-reduction/4594/

But who is to blame if a driverless car gets in a wreck? WSJ: http://online.wsj.com/article_email/SB10001424127887323854904578264162749109462-lMyQjAxMTAzMDIwNzEyNDcyWj.html

Two US power plants infected by malware delivered via USB. #securitymatters http://arstechnica.com/security/2013/01/two-us-power-plants-infected-with-malware-spread-via-usb-drive/

The expanding security threat landscape of connected medical devices. #seriouslyfolks http://eecatalog.com/medical/2012/10/18/the-expanding-threat-landscape-of-connected-medical/

Swarming "Hedgehog" Robots to Explore Space. #finally http://bit.ly/XxIPDz

More news like this ...


Quick Links
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • Blogs About Embedded Systems Design
  • Embedded Software Training in a Box
  • Free Embedded Systems Articles
  • Free Embedded Systems Glossary


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