| CMSIS-Core (Cortex-M) CMSIS-Core support for Cortex-M processor-based devices |

Loading...
Searching...
No Matches
MISRA-C Deviations

CMSIS-Core (Cortex-M) uses the common coding rules for CMSIS components that are documented in CMSIS Introduction.

CMSIS-Core (Cortex-M) violates the following MISRA-C:2012 rules:

- Directive 4.9, function-like macro defined.
  - Violated since function-like macros are used to generate more efficient code.
- Rule 1.3, multiple use of '#/##' operators in macro definition.
  - Violated since function-like macros are used to generate more efficient code.
- Rule 11.4, conversion between a pointer and integer type.
  - Violated because of core register access.
- Rule 11.6, cast from unsigned long to pointer.
  - Violated because of core register access.
- Rule 13.5, side effects on right hand side of logical operator.
  - Violated because of shift operand is used in macros and functions.
- Rule 14.4, conditional expression should have essentially Boolean type.
  - Violated since macros with several instructions are used.
- Rule 15.5, return statement before end of function.
  - Violated to simplify code logic.
- Rule 20.10, '#/##' operators used.
  - Violated since function-like macros are used to generate more efficient code.
- Rule 21.1, reserved to the compiler.
  - Violated since macros with leading underscores are used.