~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware Update
- March 6, 2013
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
in this issue
-- How to Secure Consumable Electronic Components
-- Invest in Upgraded Design Skills This Spring
-- What's in Your main() Header?
-- Updated Coding Standard Book Now Available -- 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. |
|
How to Secure Consumable Electronic Components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A number of embedded systems, such as medical devices and printers, feature replaceable components designed to be installed new, consumed through one or more cycles of product use, and ultimately disposed. Generally speaking, security is an important issue for designers of such systems. Whether to ensure against the spread of infectious diseases, guarantee a certain level of product reliability, or generate a steady stream of revenues (or some combination), a common security goal is to ensure that third parties and end users cannot clone or recondition consumables.
One key aspect of the architecture of a system with consumable components is the design of a secure communications protocol between the terminal or "base station" and the consumable. Another important consideration is that a would-be attacker typically has physical possession and control of at least one terminal station and potentially an unlimited supply of consumables with which to experiment and perform reverse engineering activities. Finally, designers must recognize that security is never perfect and always an arms race; upgradeable security should thus be considered so that additional security can be retrofitted in if/when attackers find the "weakest link". Of course, all of these aspects of security must be addressed in the context of the limited processing power and memory of embedded systems, particularly within a necessarily low-cost disposable component ultimately destined for a landfill. |
|
Invest in Upgraded Design Skills This Spring ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
![]() Barr Group has an upcoming triplet of industry-leading hands-on week-long "Boot Camps" for embedded system designers:
|
|
What's in Your main() Header? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
One of the consequences of being in the consulting business is that I get to look at a lot of code written by other people. Usually it is necessary for me to get up to speed on the code as quickly as possible, and so to this end, one of the first things I do is look for main.c, or if it doesn't exist the file that contains main(). Here's what I usually find:
Now maybe it's just me, but I find this a bit inadequate. Before I describe what I put in my main.c header, I should note that any programmer worth his salt realizes that a major goal of writing code should be making it as easy as possible to maintain. As a result, this future maintainer should be told as much as possible about what it is they are maintaining. |
|
Updated Coding Standard Book Now Available ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
![]() The new edition is now available for sale from our website, in print and PDF formats. You can also find the print and Kindle editions for sale by Amazon and select other (r)etailers. |
|
Industry News That's Not Boring ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware architecture in five easy steps. #embedsys http://www.embedded.com/design/prototyping-and-development/4008800/Firmware-architecture-in-five-easy-steps
Meet FRAK (firmware reverse analysis konsole) framework to unpack-analyze-modify-repack #embedsys binaries. #security http://www.ubmdesign.com/sanjose/schedule-builder/session-id/112 AutoWeek: "Ford traced the problem to a 'glitch' in the engine software that could lead to an engine fire." #embedsys http://www.autoweek.com/article/20121211/CARNEWS/121219975 Every time I need to explain the electromagnetic spectrum, I'm just going to link here: http://missionscience.nasa.gov/ems/ Best practices for multicore programming. http://www.edn.com/electronics-blogs/other/4407242/Best-practices-for-multicore-programming Brain wiring exposed: http://bbc.in/Vt7lcy Software engineering careers continue to boom. "3 jobs for every graduate." #embedsys http://www.todaysengineer.org/2013/Feb/career-focus.asp Beware up to 4,000 U.S. cyborgs with partially restored sight. FDA approved. #embedsys http://2-sight.eu/en/how-is-argus-r-ii-designed-to-produce-sight-en |
|
Quick Links ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Contact Information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
email:
mbarr@barrgroup.com
phone:
866.65.EMBED
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|