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