You're receiving this e-mail as a friend, client, or associate of Netrino, LLC. We apologize if you get this issue at more than one e-mail address; we're in the process of consolidating our mailing list. You can help by unsubscribing from the one you don't want.
 
You may unsubscribe if you no longer wish to receive our emails.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware Update - January 7, 2010
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this issue:
-- Is Reliable Multithreaded Software Possible?
-- Mutexes vs. Semaphores: What's the Difference?
-- Become a Master Firmware Engineer in 2010
-- Industry News and Year End Wrapups
-- Another Job Opening!
-- Share This Newsletter with a Friend

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


Is Reliable Multithreaded Software Possible?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Imagine for a minute that I've invented the Universal Bolt. This is a metal object for joining threaded holes that can extend or collapse to fit a variety of lengths. It can expand or contract to fit holes of different diameters. You no longer need to stock a variety of bolts of different sizes and lengths and thread spacings because my Universal Bolt can be used in place of any of them.

Because it's able to change configurations extremely quickly, a single Universal Bolt can take the place of many conventional bolts simultaneously. What we do is rig up a clever and very fast dispatcher device that quickly moves the Universal Bolt from hole to hole. If the dispatcher is fast enough, my Universal Bolt can spend a moment in each hole in turn and get the whole way through your mechanical product so fast that it returns to each hole before the joint has had a chance to separate.

Sounds like cool technology, right? But YOU'D HAVE TO BE CRAZY to travel in an airplane or a car designed this way! If any minor disturbance caused the dispatcher to derail, the entire product would collapse in a second. Yet this analogy perfectly describes the design of most products powered by embedded computers: A fast and complex thread dispatcher keeps moving one processor all over a big system tending to the various ISRs and RTOS tasks rapidly enough that they all get done. And if the CPU ever once goes astray the whole system crashes--or worse!

Do we need a new paradigm for reliable embedded software architecture? What are the alternatives?

Join the conversation...


Mutexes vs. Semaphores: What's the Difference?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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, most of the information I've seen about this topic online and in books and even in user's manuals is WRONG!

If you want your real-time system to function reliably, each type of semaphore should be used in a specific way. Register today for next week's 1-hour TechOnline webinar so I can show you how to use mutexes and semaphores properly. (Warning: It's not free.)

Join me for the webinar...


Become a Master Firmware Engineer in 2010
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It is possible to dramatically improve the skills of a firmware engineer in just one hands-on week. Everyone who attends Netrino's Embedded Software Boot Camp learns important stuff, especially:

  • More than 50 practical tips for reducing bugs in embedded software (including all of the ten most common firmware flaws),
  • How to decide if an RTOS is a good fit to your application,
  • How to architect embedded software properly from the start, and
  • How to write portable device drivers and interrupt handlers entirely in C.

Sign up now to attend 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).

In addition to better skills, attendees 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.
I'll be the instructor. And all of the exercises will be on an ARM target board.

Join the fraternity of firmware experts...


Industry News and Year End Wrapups
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Numerous embedded chip and tool vendors are using Twitter to keep in touch with their customers. A Handy List: http://bit.ly/8HN1ly

Wearable computing is making big strides in personal fitness and healthcare. Hot Products: http://bit.ly/8OPOjj

Mocana is offering a free trial of their NanoCrypto cryptographic engine for embedded systems. Download: http://bit.ly/6NIIFH

In 2009, unmanned systems made 1.4% of the world's mobile calls; 4.2% in the U.S.! http://bit.ly/6T5wuV

IAR Systems just announced the world's first starter kit for the ARM Cortex-M0 ultra low power MCU. http://bit.ly/5QeCkf

Solar airplane completes first test flight (powered by an RTOS). Video: http://tinyurl.com/ylmlrf7

The Voyager space probes are still teaching. Our solar system is passing through an interstellar cloud! http://bit.ly/6aQs5y

Computer Science isn't just for nerds--new programs aim to lure youngsters to tomorrow's digital jobs. http://bit.ly/4ssUl8

BestBuy, Samsung, Westinghouse, and JVC among big brands alleged to be violating open source GPL license terms. http://bit.ly/5JJJan

The call for abstracts for ESC India 2010 is now open. Submit your technical paper at this URL: http://forms.crn.in/esc/default.aspx More Indian speakers needed!

Bill Gatliff will be teaching a hands-on 4-day Embedded Linux Jumpstart course Jan 25-28 in Illinois. http://bit.ly/8EkDfV

Details of the speakers and courses at ESC Silicon Valley 2010 are now online. http://budurl.com/ra93 Use promo code "H100" to save $100 when registering at http://budurl.com/h6uq

Semiconductor demand and stocks are primed to surge in 2010. Stock Tips: http://bit.ly/5fLtIE

Top 100 Science Stories of 2009: http://bit.ly/71kFSx

Top 10 EETimes' Group Design Articles of 2009: http://bit.ly/6Ikklm

Seven Things Engineers Could Fix in 2010: http://bit.ly/5V3C4e

Seven Computer Science Game-Changers from the 2000's plus Seven More to Come: http://bit.ly/7C61dK

Top 10 Gadgets of the Aughts: http://bit.ly/7h1xzK

Top 10 Robots of the Past 10 Years: http://bit.ly/59tCX2

Join me on twitter...


Another Job Opening!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Insight Technology, headquartered in Londonderry, New Hampshire, is actively searching for embedded software engineers to program ARM, PIC, and MSP430 processors. You will be part of a small engineering team in a challenging, fast-paced company where designs become production reality.

Join a new company...


Share This Newsletter with a Friend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I started writing the monthly Firmware Update newsletter in 2009. My mission is to spread the word about best practices for embedded software architecture and process far and wide. I hope you find this newsletter as informative as it is quick to read.

Please share this issue with your friends and colleagues? You may use the "Forward e- mail" link below or hit forward in your mail reader. Either way, I am grateful to you for reading and for your help in spreading the word.

In addition, I'd love to hear what you think about the format and content so far. What do you like or dislike most?

Join the mailing list...


Quick Links
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • Free How-To Technical Articles
  • Embedded C Coding Standard
  • Training for Firmware Engineers
  • Michael Barr's "Barr Code" Blog


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