~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware Update
- September 10, 2013
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
in this issue
-- DON'T Follow These 5 Dangerous Coding Standard Rules
-- DO Follow These 10 Bug-Killing Coding Standard Rules
-- Register Now to Upgrade Your Firmware Skills This Fall -- 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. |
|
DON'T Follow These 5 Dangerous Coding Standard Rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Over the summer I happened across a brief 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 later came to dislike a few more, so I'm going to describe what is dangerous about those worst five.
I hope that if you have followed any rules like the five below in the past my comments will persuade you to move away from those toward a set of embedded C coding rules that keep bugs out rather than inviting them in. If you disagree with my view, please provide your constructive feedback in the comments at the end. |
|
DO Follow These 10 Bug-Killing Coding Standard Rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
One of the biggest benefits of a coding standard has been too long overlooked: a well written coding standard can help keep bugs out. A key strategy for making firmware-powered systems safer as well as keeping the cost of firmware development down is to write code in which the compiler, linker, and/or a static-analysis tool help keep bugs out automatically-before the code is allowed to execute.
It's far cheaper and easier to prevent a bug from creeping into code than it is to find and kill it after it has entered. So follow along to learn ten specific examples of coding rules you can follow when programming in C or C++ to reduce or eliminate certain types of firmware bugs altogether. |
|
Register Now to Upgrade Your Firmware Skills This Fall ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As you plan your October and November work calendar, please take note that Barr Group will present all three of its hands-on, week-long training programs to upgrade the skills of embedded software developers in that time:
Every attendee learns a ton, has fun while being challenged with the hands-on programming exercises, and leaves with a development board, a set of working solutions, and lots of further reading materials. |
|
Industry News That's Not Boring ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Moore's Law Dead by 2022, says keynote speaker at Hot Chips http://www.eetimes.com/document.asp?doc_id=1319330&
If you can't make decisions based on data, make decisions that result in data. Very interesting read, "Reversing Sinclair's amazing 1974 calculator hack - half the ROM of the HP-35", http://files.righto.com/calculator/sinclair_scientific_simulator.html Researchers Hack Into Car Immobilizers, But Are Enjoined from Publishing the Details http://bit.ly/18nKRvl A young well-known hacker specializing in embedded devices dies just before presentation on how to hi-jack pacemakers. http://www.reuters.com/article/2013/07/26/us-hacker-death-idUSBRE96P0K120130726 Car Hacking via Vehicle Diagnostic Port - white hat hackers release Ford Escape and Toyota Prius hacking tools with their BlackHat conference paper. - http://bit.ly/13fENBJ "Good code is its own best documentation." - Steve McConnell If objects are good then more objects must be even better, right? Um, no! And stop doing that. http://www.johndcook.com/blog/2013/07/25/too-many-objects/ Nissan says it will have a commercially viable autonomous driving system in vehicles by 2020. http://www.nytimes.com/aponline/2013/08/27/business/ap-us-nissan-autonomous-cars.html? I hope they remember about security... |
|
Quick Links ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Contact Information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
email:
[email protected]
phone:
866.65.EMBED
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|