~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware Update - December 14, 2009
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this issue:
-- Mutexes and Semaphores Demystified
-- Embedded Programmers Earn Failing Grade in C
-- Dates Set for Embedded Software Boot Camps in Early 2010
-- Industry News and Useful Links
-- Jobs! Jobs! Jobs!
-- Please Forward This Newsletter

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


Mutexes and Semaphores Demystified
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
What's the difference between a mutex, a binary semaphore, and a counting semaphore? Even very experienced embedded programmers fail to fully appreciate the importance of using the correct semaphore for the job. And, unfortunately, misuse of any type of semaphore may lead to unintended failures in embedded systems, with severe consequences in safety-critical medical devices, avionics and transportation equipment.

It's true that all types of semaphores have similarities in their implementation. However, each type should be used differently. Join me for a 1- hour TechOnline webinar on January 13 and I will show you how to use mutexes and semaphores safely and effectively and why it is important to always do so.

Sign up now...


Embedded Programmers Earn Failing Grade in C
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In industry surveys, over 80% of embedded software developers report using C or C++ as their primary programming language. Yet as a group, these programmers earned a failing grade on a multiple-choice quiz testing firmware-related C programming skills. A scary result, considering that embedded software inside medical devices, industrial controls, anti-lock brakes, and cockpits place human lives at risk every day.

Programmers in the United States scored slightly above average. But they still earned a failing grade of 61.8%. Programmers in India scored slightly below the worldwide average, at 58.9%. The rest of the world didn't do much better.

Get the full scoop...


Dates Set for Embedded Software Boot Camps in Early 2010
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ready for Boot Camp? Everyone who attends the Embedded Software Boot Camp learns a ton, including:

  • How to write portable device drivers and interrupt handlers entirely in C,
  • How to decide if an RTOS will benefit your application,
  • How to architect real-time software to ensure all deadlines are met,
  • More than 50 practical tips for reducing bugs in embedded software, and
  • How to fix or prevent each of the 10 most common types of firmware bugs.

Register now for one of 4 upcoming sessions in Orlando, Florida (February 22-26); San Jose, California (March 15-19); Columbia, Maryland (April 12-16); or Chicago, Illinois (May 3-7).

You will receive:

  • A copy of the 350-page Embedded Software Boot Camp Field Manual,
  • The Embedded Systems Dictionary with definitions of more than 2,800 of the most- used terms in the industry,
  • A USB thumb drive containing all of the exercises and related source code plus dozens of PDF articles for "further reading" on related topics,
  • The exclusive Embedded Software Boot Camp tee shirt in military green,
  • A certificate of completion, and
  • Other freebies.

Learn more...


Industry News and Useful Links
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Lawyers are Coming! Could the quality of your source code land you in court? Embedded.com: http://bit.ly/5ZkaVN

Jack Ganssle presents some of the best programming-related quips and quotes. Fun! http://bit.ly/5JUrVn

TechOnline just launched a Fundamentals of the x86 Architecture online course. Take it: http://bit.ly/5eOI3k

Looking for up-to-date news & articles on RTOSes? Check out the RTOS Channel: http://bit.ly/4KzlEA

The U.S. Navy aims to develop collision- avoidance system to enable unmanned aircraft to operate in civil airspace. Scary stuff! http://bit.ly/4hCp5M

Did 'cosmic rays' cause Qantas A330 jet's injurious plunge? http://bit.ly/5u5YSS (I doubt it.)

Did you know that the Nios II /e embedded processor core is now free? No license required! http://ow.ly/FqNf

It seems engineering productivity is more influenced by employee happiness than by development methodology. Study: http://bit.ly/5oUA9h

Are you an embedded C++ programmer? Test your skills in a quick free online quiz. Good luck: http://bit.ly/2ngIEh

There's a useful article on RTOS features that can save (battery) power here: http://bit.ly/6xzkoc

Looks like the semiconductor industry is a leader in the nascent economic recovery. http://bit.ly/8sEpqj

China's engineers are remarkably unhappy with their career choice. http://bit.ly/6LgdAX

Dream jobs: NASA seeks engineering students to help design new technologies for a manned lunar base! Apply: http://bit.ly/5EJjln

LOL! Forget carbon offsets. Programmers, buy bad code offsets. http://codeoffsets.com/

Does ARM's powerful yet cheapo 32-bit Cortex-M0 spell the end for 8- and 16-bit microcontrollers? http://bit.ly/5MMmK6

"The Future of Healthcare is Robots!" --IEEE http://bit.ly/8bkr2P

FDA reform could pose a danger to the 510(k) process. http://bit.ly/8kpYsy

Everything you always wanted to know about embedded virtualization. Webcast: http://bit.ly/59da5A

Curious what's inside Samsung's dual-display camera and what went into the design? Wonder no more: http://bit.ly/5RQuA1

Embedded Systems Conference Call for Abstracts. Chicago (June 2010): http://bit.ly/7O3wma and Bangalore (July 2010): http://bit.ly/5sQaFv

Follow me on twitter...


Jobs! Jobs! Jobs!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Things seem to be looking up in the job market.

Medtronic (http://www.medtronic.com) is looking to hire a Principal Embedded Software Engineer to design, develop, and verify embedded real-time high reliability software systems for medical applications in a regulated environment. At least 7 years of experience in real-time embedded software design and verification is required as are a relevant degree and a willingness to relocate to Minneapolis. Job #70010. Apply: http://bit.ly/5bRwo4

Eurotech (http://www.eurotech-inc.com) is looking for a technical Product Manager to spearhead product improvements and new product development efforts, from concept to launch, including pricing and competitive analysis, marketing materials, and sales training. The ideal candidate has a BSEE and an MBA. They've also got openings for a Windows CE Software Engineer, a Senior Electronics Technician, and a Product Tester. See http://bit.ly/7OKNWi for all job details.

The Johns Hopkins Applied Physics Laboratory (http://www.jhuapl.edu), a national leader in scientific research and development, located midway between Baltimore and Washington, DC is seeking a electrical engineer to design embedded systems with an emphasis on RF, analog, and digital circuit design. Find listing at: http://bit.ly/6H25PO (job #101540).

List a job opening...


Please Forward This Newsletter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I started the Firmware Update newsletter to spread the word about best practices for embedded software architecture and process. I hope you find it informative as well as a fun and easy read. If you do find it valuable, would you please take just a moment of your time to tell your friends and colleagues about Firmware Update?

Please use the "Forward e-mail" link near the bottom, or hit forward in your mail reader. I am grateful to you for reading and for your help in spreading the word.


Quick Links
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • Browse Netrino's Free Technical Articles...
  • Learn How to Keep Bugs Out of Firmware...
  • Find Training on Embedded Software...
  • Read Michael Barr's "Barr Code" Blog...


  • Contact Us...
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    phone: 866.78.EMBED
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Email Marketing by