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 details a set of guiding principles (more below) as well as specific naming conventions and other rules for the use of data types, functions, preprocessor macros, variables and much more. Individual rules that have been demonstrated to reduce or eliminate certain types of bugs are highlighted.
This latest version of the coding standard, BARR-C:2018, has been fully harmonized with MISRA C and helps embedded system designers reduce defects in firmware written in C and C++.
The book is available for purchase, in PDF or in print, here.
This section of the standard serves as an introduction and overview.