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.