1 Specific MISRA C:2012 Deviations

Global AVR_ARCH

Advisory: misra-c2012- 2.3  

Justification: This rule will not be followed as the application might require the generated types.

Advisory: misra-c2012- 2.4  

Justification: This rule will not be followed as the application might require the generated tags.

Advisory: misra-c2012- 2.5  

Justification: This rule will not be followed as the application might require the generated macros.

Global COMMAND_DATA_SIZE

Advisory: misra-c2012- 2.4  

Justification: This rule will not be followed for code clarity.

Advisory: misra-c2012- 2.3  

Justification: This rule will not be followed for code clarity.

Advisory: misra-c2012- 4.6  

Justification: This rule will not be followed as the API demands a constant value.

Advisory: misra-c2012- 4.9  

Justification: This rule will not be followed as the definition of the RESET() macro is device architecture dependent.

Required: misra-c2012- 10.3  

Justification: Essential type of operand does not affect functionality of the switch case.

Required: misra-c2012- 10.4  

Justification: This rule will not be followed as the definition of the delay macro is out of scope for this module.

Global LENGTH_FIELD_SIZE

Advisory: misra-c2012- 2.3  

Justification: This will not be followed due to Microchip coding standards.

Advisory: misra-c2012- 2.4  

Justification: This will not be followed due to Microchip coding standards.

Advisory: misra-c2012- 8.9  

Justification: This cannot be followed since the value of the variables must be saved until the next time the function is called. Declaring at block scope will make managing the variable reset more difficult.

Advisory: misra-c2012- 15.4  

Justification: This will not be followed because it would require removing code that is helpful for debugging, making the code more difficult to work with.

Advisory: misra-c2012- 2.3  

Justification: This will not be followed due to Microchip coding standards.

Advisory: misra-c2012- 2.4  

Justification: This will not be followed due to Microchip coding standards.

Advisory: misra-c2012- 8.9  

Justification: This cannot be followed since the value of the variables must be saved until the next time the function is called. Declaring at block scope will make managing the variable reset more difficult.

Advisory: misra-c2012- 15.4  

Justification: This will not be followed because it would require removing code that is helpful for debugging, making the code more difficult to work with.

Advisory: misra-c2012- 2.3  

Justification: This will not be followed due to Microchip coding standards.

Advisory: misra-c2012- 2.4  

Justification: This will not be followed due to Microchip coding standards.

Advisory: misra-c2012- 8.9  

Justification: This cannot be followed since the value of the variables must be saved until the next time the function is called. Declaring at block scope will make managing the variable reset more difficult.

Advisory: misra-c2012- 15.4  

Justification: This will not be followed because it would require removing code that is helpful for debugging, making the code more difficult to work with.

Global SERCOM

Advisory: misra-c2012- 2.5  

Justification: This is a false positive.

Advisory: misra-c2012- 2.5  

Justification: This is a false positive.

Advisory: misra-c2012- 2.5  

Justification: This is a false positive.

Global SERCOM_IsRxReady

Advisory: misra-c2012- 8.9  

Justification: This cannot be followed since the value of the variables must be saved until the next time the function is called. Declaring at block scope will make managing the variable reset more difficult.

Advisory: misra-c2012- 15.4  

Justification: This will not be followed because it would require removing code that is helpful for debugging, making the code more difficult to work with.

Advisory: misra-c2012- 8.9  

Justification: This cannot be followed since the value of the variables must be saved until the next time the function is called. Declaring at block scope will make managing the variable reset more difficult.

Advisory: misra-c2012- 15.4  

Justification: This will not be followed because it would require removing code that is helpful for debugging, making the code more difficult to work with.