~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware Update
- December 17, 2013
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
in this issue
-- Toyota's Electronic Throttle Control Software
-- Spring 2013 Hands-on Embedded Skills Training
-- Efficient C Tip #13: Use Mod (%) with Caution
-- 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.


Toyota's Electronic Throttle Control Software
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Some of you have asked me about the recent headlines regarding software issues and unintended automobile acceleration and my October courtroom testimony regarding Toyota's engine software. I am limited in what I can say publicly about this, but here are some links for those of you that are interested:

Obviously, we all would benefit from attention-to-detail in safety-critical software design.

Read the courtroom testimony...


Spring 2013 Hands-on Embedded Skills Training
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As you plan your Spring work schedule, take note that Barr Group will present three week-long training courses to upgrade the skills of embedded systems engineers. Each consists of a series of detailed lectures and challenging but fun hands-on programming exercises. Register early to save your seat and take advantage of the early registration discount. Keep in mind also that December is a great time to put excess current-year training funds to use.

Read the full details...


Efficient C Tip #13: Use Mod (%) with Caution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you want to write efficient C, you need to be cautious about using the modulus operator (%). This is because "a % b" is equivalent to "a - b * (a / b)". In plain English, a single mod involves three arithmetic operations. Thus C code that achieves the desired end calculation without using mod is more efficient C code.

Read about the alternatives...


Industry News That's Not Boring
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Apple engineer recreates 2,100 y.old Greek "computer" to forecast future eclipse dates entirely out of Lego parts. http://www.fastcodesign.com/1662831/watch-an-apple-engineer-recreate-a-2000-year-old-computer-using-legos

12 interesting facts about linkers and ELF object files: http://j.mp/1e6zmzd

Software development advice from Robert Frost: "Don't ever take a fence down until you know why it was put up."

A tutorial on the implementation of dynamic memory allocation on the heap in C, including malloc(). http://www.inf.udec.cl/~leo/Malloc_tutorial.pdf

If carpenters were hired like programmers: "Must have at least 5 yrs experience with the Dewalt 18V 165mm Circular Saw"

Tiny Shell (tinysh) open source command line shell facilities (e.g., over UART). http://tinysh.sourceforge.net

100,000,000,000,000,000,000 is the approximate number of transistors in the world.
10,000,000,000,000,000 is the approximate number of ants.

Code Reviews: Funny (comic) but too easily true... http://www.bonkersworld.net/code-reviews/

Description of how LCDs work with more construction details than are usually provided. http://www.youtube.com/watch?v=d4QFNWBSZYg

Learn about cryptography by solving coding problems derived from weaknesses in real-world systems. http://www.matasano.com/articles/crypto-challenges/

Read more industry news...


Quick Links
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • Most Popular Embedded Gurus Blog Posts of 2013
  • Embedded Software Training Kits
  • FREE How-To Article Library on Embedded Software
  • Book: Embedded C Coding Standard


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