You're receiving this email because of your relationship with Netrino. Please confirm your interest in receiving email from Barr Group. Also note the next issue will be sent from mbarr@barrgroup.com, so please whitelist that address if need be.
 
You may unsubscribe if you no longer wish to receive our emails.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware Update
- March 13, 2012
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
in this issue
-- Building Reliable and Secure Embedded Systems
-- The Absolute Truth About abs()
-- Register Early for a 2012 Boot Camp and Save
-- Netrino Becomes Barr Group
-- Industry News You Can Use

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


Building Reliable and Secure Embedded Systems
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this era of 140 characters or less, it has been well and concisely stated that, "RELIABILITY concerns ACCIDENTAL errors causing failures, whereas SECURITY concerns INTENTIONAL errors causing failures." As the designers of embedded systems, the first thing we must accomplish on any project is to make the electronics and software work. The first iteration of this is often flaky; certain uses or perturbations of the system by testers can easily dislodge the system into a non-working state. In common parlance, "expect bugs."

Given time, tightening cycles of debug and test can get us past the bugs and through to a shippable product. But is a debugged system good enough? Neither reliability nor security can be tested into the system. Each must be designed in from the start.

Read on...


The Absolute Truth About abs()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
One of the more depressing things about the C language is how often the results of various operations are undefined. A prime example of this is the abs() function, which is intended to return the absolute value of its parameter. The undefined behavior is a risk whenever you're using a compiler that represents negative numbers using 2′s complement notation. In this case, the most negative representable number is always numerically larger than the most positive representable number.

Undefined operations are never a good idea in embedded systems, so surely a cross-compiler will do something sensible, like return +32767 if you pass -32768 to abs()? Well, see what happens when one of our embedded gurus whips up some sample code and pulls out his favorite 8-bit compiler.

Learn more...


Register Early for a 2012 Boot Camp and Save
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Embedded Software Boot Camp is a hands-on, week-long training program specifically designed to raise the skill of embedded software developers and teams. Regardless of years of experience in firmware, everyone who attends leaves a Master Firmware Engineer, ready to tackle challenging device driver and real-time programming projects more competently and efficiently--with or without an RTOS.

Barr Group has announced a public session will be held near Baltimore-Washington International airport the week of May 7-11. Register early to save your seat and save $1,000. Don't miss out on this chance to upgrade your knowledge and skills while also saving money.

Sign up...


Netrino Becomes Barr Group
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For the last thirteen years, Netrino has been synonymous with high-quality embedded systems education and engineering design services. As a result of our continued success, the company has outgrown my leadership on the business side. So I am proud to announce that industry veteran Andrew Girson has joined our team as CEO and that the company has been renamed Barr Group.

My role in the new company is primarily technical leadership, as my CTO title suggests. You can expect this Firmware Update newsletter to remain as technical as it always has been. And I hope to also meet you more often at industry conferences and online as some of my time frees up.

Get details...


Industry News You Can Use
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
My twitter handle has changed to @embeddedbarr. But thanks to geniuses at twitter, there's nothing for you to do to keep following.

Stanford's free online class in Cryptography is starting up now: https://www.coursera.org/crypto/class

The Shocking Truth About Automatic External Defibrillators IEEE Spectrum: http://m.spectrum.ieee.org/biomedical/devices/the-shocking-truth-about-defibrillators/

Nevada first state to allow driverless cars! http://bottomline.msnbc.msn.com/_news/2012/02/21/10460103-nevada-first-state-to-authorize-driverless-cars #embedsys #cantwait

Physicists Create a Working Transistor From a Single Atom! NYTimes take: http://nyti.ms/z9Q4hB

Never Use Floating Point Counters http://bit.ly/AfOFsf

Did a programming error cause the failure of the Russian Mars probe? http://news.discovery.com/space/programming-error-doomed-mars-probe.html

Follow me...


Quick Links
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • Embedded C Coding Standard
  • Embedded Systems Training in a Box
  • Embedded Systems Glossary
  • Blogs by Embedded Gurus


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