"Vision without action is daydream. Action without vision is nightmare."
--Japanese Proverb

In this issue:

  • MISRA C for Security's Sake!
  • Final Days to Register for Fall Firmware Skills Training
  • Why Are State Machines So Useful in Embedded Software?
  • Embedded Linux Training in a Box <-- NEW PRODUCT!
  • Industry News That's Not Boring

Firmware Update is a free, monthly-ish newsletter by embedded systems expert 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.

MISRA C for Security's Sake!

Once upon a time, embedded systems developers didn't have to worry about security...

WAKE UP!  You're dreaming.  Stop ignoring security! 

Security matters on the product you are designing right now!  And it's going to be a growing concern for the rest of your career.

The good news is that some of the very tools and techniques you're already familiar with can assist you in increasing security.  Did you know, e.g., that MISRA's guidelines for the use of C in safety-critical systems already takes security into account?

Read now...

Final Days to Register for Fall Firmware Skills Training

Barr Group's Fall 2018 public training sessions are underway and early registration pricing will soon expire for the remainder.  Can we still squeeze you into one of these world-class courses?

If these are too soon for you team, why not bring the instructor to your office for an on-site training?

Register now...

Why Are State Machines So Useful in Embedded Software?

State machines are perhaps the most effective method for developing robust event-driven code for embedded systems.  This is because almost all such products are "event-driven" (or "reactive"), which means that they continuously wait for the occurrence of some external or internal event, such as a button press, a timer tick, or an arrival of a data packet. After recognizing each event, these systems react by performing the appropriate computation that may include manipulating the hardware or generating other "soft" events that trigger further reactions.

Not using state machines at nearly every level or layer of your firmware?  You probably should be...

In this brief discussion with Andrew Girson, I explain a bit more about state machines and point viewers to additional sources of practical information about how and when to use them in embedded software:

Watch now...

Prefer how-to articles?  Start your journey here: /embedded-systems/how-to/state-machines-event-driven-systems

Embedded Linux Training in a Box <-- NEW PRODUCT!

Embedded LinuxThe new Embedded Linux Training in a Box is a self-paced programming course that helps firmware engineers develop and/or strengthen their embedded Linux programming skills.  Based on the 3-day training course Embedded Linux Customization and Driver Development, this easy-to-follow kit includes hands-on exercises on a Texas Instruments board that will help you master Linux customization and driver development skills from the comfort of your home or office.

Order now...

Industry News That's Not Boring

Movement and heart-rate data from common fitness monitors is increasingly be used to solve crimes, such as this murder allegedly perpetrated by a 90-year-old man: https://t.co/4y7xGo0UEP

The use of machine learning and artificial intelligence faces limitations in industrial controls and factory automation: https://t.co/3cWzUUpamP

Too-feisty-for-some Linux creator Linus Torvalds just announced he will step aside (temporarily) to "look in the mirror" and “get some assistance on how to understand people’s emotions and respond appropriately.” https://lkml.org/lkml/2018/9/16/167

The 2018 update of the Embedded C Coding Standard aims to make us all better programmers, reports EE Journal: http://www.eejournal.com/article/barr-c-aims-to-make-us-better-programmers/

A new oscilloscope from Keysight sets the new standard for real-time bandwidth capture at 110 GHz: https://t.co/UnZa9PcMsM

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).