In the firmware and embedded software engineering domains, engineers overwhelmingly choose C as their language of choice. Evidence of this may be seen in the following screen-grab of a presentation by Dan Saks at CppCon2016. I would recommend the entire presentation, which may be found here: https://youtu.be/D7Sd8A6_fYU Selecting C over C++ is a reasonable and conservative choice, especially … More Why I love C++11 for Embedded Software and Firmware (or C++14, or…)
The core recommendation of this post will be familiar to an experienced embedded systems engineer, yet it is worthy of note and a useful trick for engineers learning their trade. The “trick” in question: Design embedded systems with accessible spare microcontroller GPIO(s) Why? If the focus is firmware development, then real time responsiveness is likely critical to … More Brother, can you spare a GPIO?
As we grow in our engineering careers, we must continually add new tools to our collective tool kits. One favorite tool in my toolkit will be obvious to many experienced embedded software engineers. I still remember learning this approach early in my career via code written by colleague David Starling. The tool in question: Look … More Favorite Tools – Look Up Tables
One of my favorite embedded C/C++ “tricks” is to make frequent use of the compiler to detect certain errors at compile-time rather than at run-time. The mechanism used for this style of error detection is a “static assert,” and embedded software engineers would be wise to sprinkle a few of these in their projects. The benefits include: … More Favorite Tricks: Static Assert