~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware Update
- August 30, 2011
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
in this issue
-- 5 Dangerous Coding Standard Rules
-- Embedded Software Training in a Box
-- How to Enforce Coding Standards with PC-Lint
-- Industry News That's Not Boring!
-- Register Early for Embedded Software Boot Camp and Save

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


5 Dangerous Coding Standard Rules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Over the summer I happened across a blog post by another firmware developer in which he presented ten C coding rules for better embedded C code. I had an immediate strong negative reaction to half of his rules and came to dislike a few more on reflection.

I don't know which scares me more: that these bad rules are out there on the Internet to be found via search engines or that the blogger's bio indicates he designs medical devices! But I do hope my counter-examples and proposed better rules will get you thinking about how to develop more reliable embedded software with fewer bugs.

Learn what not to do...


Embedded Software Training in a Box
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Netrino now offers the valuable embedded software training from its most popular live courses, including Hardware Interfacing in C and Multithreaded RTOS Programming, in a hands-on home/office-study package. This Embedded Software Training in a Box is a low-cost, self-paced way for firmware engineers to improve their knowledge and skills.

Each training kit includes a development board featuring a 96 MHz 32-bit floating point microcontroller and a mess of nifty peripherals (there's even a 3-axis accelerometer), a built-in JTAG debugger interface, the necessary cables, and two C/C++ compilers. You also get all of the slides, handouts, and source code used at our live Embedded Software Boot Camps. (Drill instructor not included!)

Check out the full details...


How to Enforce Coding Standards with PC-Lint
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In an earlier newsletter, I introduced the concept of automatic enforcement of coding standards. One of the tools I have found to be indispensible for this purpose is the inexpensive PC-Lint. A number of PC-Lint options can be set to assist in the enforcement of Netrino's popular Embedded C Coding Standard. As a convenience to embedded programmers everywhere, I've just made public domain a configuration file to use this tool automate enforcement of coding standards.

Find out how to do the same...


Industry News That's Not Boring!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Whatever Happened to Worst Case Analysis? http://bit.ly/quMqNu

Digital Watch Design for the 21st Century. Revolutionary ideas: http://nyti.ms/nmejgG

C No Evil. These clever one-line preprocessor hacks could put a wrench in a whole program: http://bit.ly/mWPwiW

Hacking Medical Devices for Fun and Insulin. Live from Black Hat 2011: http://bit.ly/oVjSct

Exploring Binary: Ten Ways to Check if an Integer Is a Power Of Two in C. Code snippets included: http://j.mp/qaIApF

Apple's MacBook batteries turn out to be embedded systems, albeit with poor security. Hacking details here: http://bit.ly/r8WlNt

How Standards Proliferate. Cartoon: http://bit.ly/pyfUMe

How to Measure Software Execution Times: http://bit.ly/j4OQ1A

Old Calculator Web Museum: http://oldcalculatormuseum.com

Read more stuff like this...


Register Early for Embedded Software Boot Camp and Save
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Should you prefer live training, the final public Embedded Software Boot Camp of 2011 will be held the week of October 17-21. This intense and fun hands-on educational program will quickly and dramatically improve the quality of the embedded software created by the individuals and teams who attend.

Register now and save $400...


Quick Links
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • Embedded C Coding Standard
  • Free How-To Articles
  • Embedded Systems Glossary
  • Embedded Systems Blogs


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