3.2. Programming Language
3.2.1. System Programming Language and Standards
Special care has to be taken for coding C-code as the core functions of the BMS software rely on this language. This project uses the ISO C11 standard (a working document is for example available in [ISO11]) as a language basis.
The C programming language is very flexible. This flexibility has to be reduced to a safe language sub-set which is done by additional coding standards. Code contributed to this project MUST be compatible with MISRA C:2012 which is described in [MIRALimited13].
Abstract of System Programming Language and Standards
The programming language of the embedded system software MUST be ISO C.
The programming language standard version of the embedded system software MUST be C11.
The source code SHOULD not make use of language extensions.
The source code MUST be compiled in the strictest standards way the compiler supports.
The source code MUST compile without any error or warning messages.