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 v18.01

  1. Home
  2. Firmware Update
  3. Firmware Update v18.01
Posted January 10, 2018

"No one in the brief history of computing has ever written a piece of perfect software. It's unlikely that you'll be the first." --Andy Hunt

In this issue:

  • Pro Tips for Using C's "volatile" Keyword
  • ATTENTION Embedded Systems Designers!
  • 5 Reasons to Select Android as Embedded OS
  • Better Trained Teams Develop Firmware Faster
  • Industry News That's Not Boring

Firmware Update is a free, monthly 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.


Pro Tips for Using C's "volatile" Keyword

The C (and C++) programming language's volatile keyword is a qualifier that can be applied to a variable when it is declared. The inclusion of this keyword informs the compiler that the value of the variable may change at any time--including asynchronously with respect to nearby lines of code.

In this month's brief Tech Talk video, Andrew Girson talks with embedded systems expert Dan Smith about why this is necessary functionality and about best practices for the proper use of this important corner of the C (and also C++) language.

Tech Talk: Using C's Volatile Keyword

Click here or on the above image to watch the video.

ATTENTION Embedded Systems Designers!

Hear ye, hear ye!  Are you a professional designer of embedded systems?  If so, our community needs your help with this important annual survey of industry practices and trends:

https://www.surveymonkey.com/r/6M879ZN

Your participation will require just a few minutes of your time.  As an incentive and thank you, we will give away two Fluke 117 Digital Multimeters and three $25 Amazon gift cards in a drawing you can opt-into if you choose.

5 Reasons to Select Android as Embedded OS

Designers of a wide range of embedded systems are choosing Android as operating system.  But why?  If you think Android is just for mobile phones, think again.  It turns out there are a number of compelling reasons to consider making Android the core of your product, including the ease with which you can develop a rich and intuitive user interface. 

Should your project run on Android?  Read "Five Reasons Android is Used in Embedded Systems"

Need training in Android for embedded systems?  Attend an Embedded Android Boot Camp

Note that Barr Group offers consulting and on-site training to teams in all stages of Android adoption.

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.  And the easiest way to do that is to minimize bugs by creating less bugs in the coding phase.  Here are three great courses for learning to do just that:

  • Embedded Software Boot Camp: April 9-12
  • Test-Driven Development (TDD) & Agile: April 24-26
  • Developing Effective Coding Standards: May 10

Consult the training calendar for prices and locations for those and other upcoming public courses.  

Alternatively, consider bringing an instructor right to your office for an on-site training for your team, based on any subject from the full course catalog.

Industry News That's Not Boring

Three college students who thought they were just running a Minecraft scam have pled guilty to creating the Mirai botnet. The rapid viral spread of their malware across insecure embedded systems (65,000 infected in the first day) shocked even them. Article at http://bit.ly/2AClCxF

Followup: Oregon agency finally admits the First Amendment means it can't silence a red light camera critic who was fined $500 for "practicing engineering without a license" on his wife's day in traffic court. Article: http://reason.com/blog/2017/12/07/licensing-board-admits-they-cant-sile…

"When Toasters Attack!" or "How the Combination of Smart Devices and Cloud Computing Will Change the World": Embedded.fm #225 (podcast)

An updated official C++ programming language standard is now available: ISO/IEC 14882:2017

According to a recent report from VDC Research, the combined ARM Cortex processor families are now the architecture of daily interaction for about 57% of embedded systems designers:

Pie Chart of CPU Architecture



Quick Links to Useful Stuff

  • Book: Embedded C Coding Standard (free PDF download)

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

  • 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