Barr Group co-founder and CTO Michael Barr is the author of three books and more than seventy published articles and papers about embedded software design. Portions of each of these books can be browsed on our website.
Embedded C Coding Standard
Barr Group's Embedded C Coding Standard was developed from the ground up to minimize bugs in firmware, by focusing on practical rules that keep bugs out--while also improving the maintainability and portability of embedded software. The coding standard book (available in print or PDF) details a set of guiding principles as well as specific rules for the use of data types, functions, preprocessor macros, variables and much more.
Programming Embedded Systems in C and C++
Michael Barr's classic Programming Embedded Systems has introduced tens of thousands of C and C++ programmers to embedded systems. Major topics include testing memory devices, writing and erasing Flash memory, verifying nonvolatile memory contents, controlling on-chip peripherals, device driver design and implementation, optimizing embedded code for size and speed, and making the most of C++ without a performance penalty.
Embedded Systems Dictionary
The Embedded Systems Dictionary, by Michael Barr and Jack Ganssle, was the first attempt to gather all the vocabulary of embedded systems designers in one reference volume. The dictionary defines more than 2,800 terms and clarifies the meanings and usage of each individual term. A subset of the book's definitions is available free on this website.