CMSIS-CORE uses the common coding rules for CMSIS components that are documented under Introduction .
CMSIS-CORE violates the following MISRA-C:2004 rules:
- Required Rule 8.5, object/function definition in header file.
Violated since function definitions in header files are used to allow 'inlining'.
- Required Rule 18.4, declaration of union type or object of union type: '{...}'.
Violated since unions are used for effective representation of core registers.
- Advisory Rule 19.7, Function-like macro defined.
Violated since function-like macros are used to allow more efficient code.