"Minds are like parachutes: they only function when they are open." --Thomas Dewar

In this issue:

  • Reducing Security Threats to Embedded Systems
  • Is Google's new Android Things a Fit for your Next Design?
  • Modern Firmware Architecture: Beyond the RTOS
  • Changes Coming to the Embedded C Coding Standard
  • Industry News That's Not Boring

Firmware Update is a free, monthly-ish newsletter by embedded guru Michael Barr. Firmware Update is a trademark and this issue is Copyright © 2018. You may forward whole issues to colleagues that design embedded systems.  No other uses are permitted.

Reducing Security Threats to Embedded Systems

The number and scope of security threats to embedded systems, including exploitable hardware flaws like Meltdown and Spectre as well as botnet attacks like Mirai, are rapidly rising.  As professional designers of embedded systems, we all have an ethical duty to secure our systems better. 

How can the design of our systems be improved to reduce security threats?  Follow this six-point plan:


Is Google's new Android Things a Fit for your Next Design?

Android Things is a new variant of the AndroidOS that the wizards at Google have designed specifically with embedded device makers in mind.  In this month's Tech Talk, Android and embedded systems expert Nathan Tennies talks about the pros and cons of using Android Things and what it might mean to do that on your next project.  Click on the image below (or here) to watch the 6 minute video.

Android Things Video

If you are interested in learning more about using Android in an embedded system design, register for:

This hands-on, 4-day training course will not only help you get up and running with Android on custom hardware but will also educate you about Android Things, Oreo, and the rest of what's new in the Android world. Register now.

Modern Firmware Architecture: Beyond the RTOS

The use of an RTOS (Real-Time Operating System) is the most universally followed approach to the design of embedded software.  But an RTOS is also an architectural choice that forces a certain programming paradigm upon the software and this architecture can lead to brittle designs that more often work by chance than by design.

The trouble with the use of an RTOS is the blocking, which occurs any time one task has to wait for something to happen. Blocking is insidious, because it appears to work initially but often overcomplicates the programming. While a task is blocked, it cannot do other work--and is therefore unresponsive to other events.  Such a task cannot be easily extended to handle new events.

Did you know that there is a better way to architect your embedded software?  If not, read on...


Changes Coming to the Embedded C Coding Standard

I recently kicked off a project to update Barr Group's widely-followed Embedded C Coding Standard

My top goals are to: ensure 100% compatibility with the latest version (2012) of the MISRA-C guidelines, ease the process of complying with the standard by enabling even greater automation, add clarifying text and example code where readers sometimes have doubts, and accomplish those things while minimizing changes to the existing rules and rule numbers.

Are you one of the many followers of these bug-killing rules?  If there are rules you think should be changed or that could benefit from greater clarification, now is the time to let us know. Please send your constructive feedback via email.

Don't already have a copy of Embedded C Coding StandardGET THE FREE PDF

Industry News That's Not Boring

U.S. and British governments announce that Russia has hacked Internet routers used in businesses and homes around the world: https://t.co/5qp4q1dz0B

Intel, which bought the company nearly a decade ago, just sold Wind River to private equity for an undisclosed sum: http://www.eejournal.com/article/intel-jettisons-wind-river/

Perhaps this is a sign of problems in the commercial RTOS business...  https://embeddedgurus.com/barr-code/2018/02/survey-says-the-commercial-rtos-business-is-doomed/

Is the increasing importance of ISO 26262 a sign of inceasing quality in the automotive design industry? http://www.embedded-computing.com/guest-blogs/t%C3%BCv-certification-is-shifting-the-automotive-landscape

That may be critical given industry regulators are apparently "asleep at the wheel": https://www.bloomberg.com/news/articles/2018-03-26/regulators-are-asleep-at-the-wheel-on-self-driving-cars

Internet of Things Security Hall of Shame: https://codecurmudgeon.com/wp/iot-hall-shame/

Quick Links to Useful Stuff

How to Contact the Author

I'm always interested in hearing from embedded systems designers and happy to take a few minutes to help you find the resources to get a design done right. Send me an email anytime. And be sure to also connect with me on Twitter (@embeddedbarr) and LinkedIn (https://linkedin.com/in/embeddedbarr).