Skip to main content

+1 866 653-6233 LinkedIn Software Expert Witness Directory

About Us Contact Us

Barr Group Software Experts

Barr Group Software Experts

Main navigation

  • Expert Services
    • Consulting Experts in Software and Electronics
    • Expert Reports by Testifying Software Experts
    • Reverse Engineering and Forensic Analysis
    • Software Source Code Review and Analysis
  • Areas of Expertise
    • Left Side
      • Artificial Intelligence
      • Automotive Systems
      • Cloud Computing
      • Computer Security
      • Consumer Electronics
      • Electronic Circuits
      • Enterprise Software
      • Financial Technology
      • Firmware and IoT
    • Right Side
      • Industrial Controls
      • Mechanical Design
      • Medical Devices
      • Military & Aerospace
      • Mobile Devices & Apps
      • Optical Equipment
      • Renewable Energy
      • Signal Processing
      • Telecommunications
  • Matters & Venues
    • Patent Infringement and Invalidity Experts
    • Software Copyright and Trade Secrets Experts
    • Product Liability and Failure Analysis Experts
    • Contract Disputes and Software Project Failures
    • Venues and Clients
  • Directory
  • Case Studies
    • DirecTV Anti-Piracy
    • Samsung Software Copyright
    • Toyota Runaway Cars
  • Resources
    • Expert Witness Blog
    • Source Code Review in Litigation
    • Software Source Code Discovery

Firmware Update v17.10

  1. Home
  2. Firmware Update
  3. Firmware Update v17.10
Posted October 03, 2017

"I prefer questions that cannot be answered over answers that cannot be questioned." --Richard Feynman

In this issue:

  • The Coming Software Apocalypse
  • Tech Talk: Pros and Cons of Embedded C++
  • Better Trained Teams Develop Firmware Faster
  • How to Combine 'volatile' with 'struct'
  • Industry News That's Not Boring

Firmware Update is a free, occasional newsletter by embedded systems expert Michael Barr. Firmware Update is a trademark and this issue is Copyright ©2017 by the author. You may forward whole issues to other embedded systems designers.  All other rights are reserved.


The Coming Software Apocalypse

It’s been said that software is “eating the world.” More and more, critical systems are coming to depend on code. This was perhaps never clearer than in the summer of 2015, when on a single day, United Airlines grounded its fleet because of a problem with its departure-management system; trading was suspended on the New York Stock Exchange after an upgrade; the front page of The Wall Street Journal’s website crashed; and Seattle’s 911 system went down.

The current issue of The Atlantic magazine discusses some of the challenges faced by designers of mission-critical systems as well as emerging alternative design approaches: 

https://www.theatlantic.com/technology/archive/2017/09/saving-the-world-from-code/540393/

Tech Talk: Pros and Cons of Embedded C++

The top pros and cons of writing embedded software in C++ in under 6 minutes, with Dan Smith and Andrew Girson (click on the image--or here--to play the video):

Tech Talk Video

 

Better Trained Teams Develop Firmware Faster 

It's well known that the single best way to complete firmware development projects on schedule is to minimize time spent in the debug phase.  Barr Group specializes in training engineers to perform at their best, writing code with few fewer bugs than the average.  Upcoming public training sessions include:

  • Embedded Software Boot Camp: 30 October - 2 November 2017
  • Embedded Android Boot Camp: 6-9 November 2017
  • Test Driven Development and Agile Methods: 17-19 April 2018
  • Embedded Security Boot Camp: 23-26 April 2018

If you have a team of five or more engineers consider bringing a top-notch Barr Group trainers to your location to teach any of the topics from the complete Course Catalog.

How to Combine 'volatile' with 'struct'

C’s volatile keyword is a qualifier that can be used to declare a variable in such a way that the compiler will never optimize away any of the reads and writes. Though there are several important types of variables to declare volatile, this obscure keyword is especially valuable when you are interacting with hardware peripheral registers and such via memory-mapped I/O. 

To do this it is important to know how to combine volatile with struct properly, which is explained in my blog at:

https://embeddedgurus.com/barr-code/2012/11/how-to-combine-volatile-with-struct/.

Industry News That's Not Boring

A brain-machine interface is no longer science fiction: https://www.wired.com/story/brain-machine-interface-isnt-sci-fi-anymore/

Now you can cut the power consumption and footprint of general-purpose microcontrollers by stripping instructions and peripherals your application doesn't require: https://spectrum.ieee.org/semiconductors/design/bespoke-processors-a-ne…

Has the "Internet of Things" (IoT) already jumped the shark? Look no further than this App-controlled salt shaker/bluetooth speaker/so much more...: https://www.indiegogo.com/projects/smalt-the-world-s-first-interactive-…

ARM's TrustZone security feature is reportedly broken on most devices, due to improper management of power consumption: https://blog.acolyer.org/2017/09/21/clkscrew-exposing-the-perils-of-sec…


Quick Links to Useful Stuff

  • Free download: Bug-killing Embedded C Coding Standard
  • EmbeddedGurus.com: Where the Embedded Gurus Gather
  • Report: 2017 Embedded Systems Safety & Security Survey

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. Also be sure to connect with me on Twitter (@embeddedbarr) and LinkedIn (https://linkedin.com/in/embeddedbarr).

  • Back to Main
  • Share
  • Facebook
  • Twitter
  • LinkedIn

Request an Expert

(866) 653-6233

Blog Categories

assembly
C
coding standards
communications
debugging
electronics
Java
real-time
RTOS
safety
security
tools
user interfaces
Barr Group logo
Call us

Expert Services

  • Source Code Review Services
  • Expert Witness Directory
  • Reverse Engineering Services
  • Expert Reports & Testimony
  • How-To Technical Articles
  • Engineering Services

Latest Insights

  • Payment Processing and e-Payments Fraud
  • Albert Einstein Expert Witness
  • Medical Device Litigation and FDA 510(k)
  • Personality Traits of the Best Expert Witnesses

Website contents copyright © 2012-2025 by Barr Group. | Barr Group's logo is a U.S.-registered ® trademark.

SITEMAP  |  PRIVACY