~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Firmware Update
- May 22, 2014
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
in this issue
-- First Impressions of Google Glass
-- Free Webinar: Top 10 Bug-Killing Coding Standard Rules
-- Robust Embedded Software Architecture in 5 Easy Steps
-- How to Secure "Consumable" Electronic Components
-- Interesting News and Fun Links

Firmware Update is a free newsletter by embedded guru Michael Barr. This issue is Copyright 2014 by Barr Group, but may be reprinted for non-commercial purposes. Please forward it to colleagues who may benefit from the information.


First Impressions of Google Glass
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I recently had the opportunity to try Google Glass, as part of the "Explorer" (pay to beta) program. I experimented with my Glass, wore it in public, and shared it freely with other techies, friends, and family over a several week period.

The good news is that no one threatened or attacked me verbally or physically for wearing them.

Unfortunately, though, the product itself is lousy--and I was testing v2.0! Everyone who was eager to try them gave up on them in a minute or two. Those who require reading glasses weren't able to even see the screen. I'd say the commercial product will be better, but am not confident enough this wearable will ever be commercialized.

Full review...


Free Webinar: Top 10 Bug-Killing Coding Standard Rules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are many sources of bugs in software programs. Some bugs are created by the original programmer. Other bugs result from misunderstandings of the original code by those who maintain, extend, and/or reuse (or port) that code at a later time. The number of bugs introduced by the original programmer can be reduced through the disciplined application of certain coding practices. In addition, some types of bugs caused by maintenance programmers can be prevented by the original programmer through commenting and careful naming of variables and functions. To increase security and keep bugs out of medical devices and other safety-critical embedded systems, it is valuable to create a C coding standard that considers these factors from the beginning.

To help you keep bugs out of your embedded software, Barr Group has compiled a list of the Top 10 Bug-Killing Coding Standard Rules and will hold a free 60-minute webinar on June 3 at 1PM EDT on this subject. There is a limit to the number of attendees for this live event, so please take a moment to register immediately if you want to learn this valuable information.

Register now...


Robust Embedded Software Architecture in 5 Easy Steps
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Over the past decade, I've spent a large amount of my time consulting with and training software development teams that are in the midst of rearchitecture. These teams have already developed the firmware inside successful long-lived products or product families. But to keep moving forward, reduce bugs, and speed new feature development, they need to take the best of their old code and plug it into a better firmware architecture.

Along the way I have collected substantial anecdotal evidence that few programmers, technical managers, or teams truly understand what good firmware architecture is, how to achieve it, or even how to recognize it when they see it. That includes the most experienced individual developers on a team. Yet, despite the fact that these teams work in a range of very different industries (including safety-critical systems), the rearchitecture process can be made remarkably similar. And there are numerous ways that various products and engineering teams would have benefited from getting their firmware architecture right from the beginning.

Though learning to create solid firmware architecture and simultaneously rearchitecting legacy software may take a team months of hard work, five key steps are identifiable. So whether you are designing firmware architecture from scratch for a new product or launching a rearchitecture effort of your own, here is a step-by-step process to help your team get started on the right foot.

Learn how...


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 "consumables".

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. Read on to learn a set of practical techniques to meet these security challenges.

Read on...


Interesting News and Fun Links
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Photos and some part numbers from a Google Glass teardown are now live here: techinsights.com

Google Glass may go for $1,500 but its parts cost less than $80, according to one estimate: wsj.com

What if hearing aids paired with a smartphone worked so well that even people without hearing loss would want them? nytimes.com

Simple Software Testing Lessons Learned from Toyota and Nissan Recalls techwell.com

Why it's insanely easy to hack hospital medical devices. Scary. wired.com

Embedded device security on critical infrastructure looks like this: blog.ioactive.com

Coming soon to your email: "Due to a security leak your biometric data may have been compromised. We highly recommend you change your fingerprints ASAP."

The Internet of Toilets? #IoT #embedded #privacy theatlantic.com

Google claims big progress in self-driving cars. (I sure hope that computer is more reliable than Google Glass!) cnet.com

The immutable "laws of divisibility" for hexadecimal numbers. johndcook.com

Keep procrastinating...


Quick Links
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • Book: Embedded C Coding Standard
  • Kit: Embedded Software Training in a Box
  • DVD: How to Prioritize RTOS Tasks
  • Article: The Perils of Preemption


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