4.3.1 Supported MISRA C:2012 Rules

The USB Device Stack library is checked for any deviations from the MISRA C:2012 guidelines using the MISRA CLI MPLAB®X (MisraCheck plugin) static analyzer bundled with the MPLAB®X IDE version used during release verification (see the library release notes for this library version). The below table lists which of the MISRA rules are supported by the tool. The fields used in the table are defined as:

  • Rule ID - The ID of the rule or directive being checked. These IDs correspond to the rule or directive numbers used in the MISRA C:2012 guidelines.

  • Classification - Each MISRA C:2012 rule or directive is assigned one of three possible categories:
    • Mandatory

    • Required

    • Advisory

  • Status - Describes which rules are enabled/disabled during verification or if a rule or directive is not supported by the tool  

Rule ID

Classification

Status

1.1

Required

Not supported

1.2

Advisory

Not supported

1.3

Required

Enabled

1.4

Required

Enabled

2.1

Required

Enabled

2.2

Required

Enabled

2.3

Advisory

Disabled

2.4

Advisory

Disabled

2.5

Advisory

Disabled

2.6

Advisory

Enabled

2.7

Advisory

Enabled

3.1

Required

Enabled

3.2

Required

Enabled

4.1

Required

Enabled

4.2

Advisory

Enabled

4.3

Required

Enabled

4.4

Advisory

Enabled

4.5

Advisory

Enabled

4.6

Advisory

Enabled

4.7

Required

Enabled

4.8

Advisory

Enabled

4.9

Advisory

Enabled

4.10

Required

Enabled

4.11

Required

Enabled

4.12

Required

Enabled

4.13

Advisory

Enabled

4.14

Required

Enabled

5.1

Required

Enabled

5.2

Required

Enabled

5.3

Required

Enabled

5.4

Required

Enabled

5.5

Required

Enabled

5.6

Required

Enabled

5.7

Required

Enabled

5.8

Required

Enabled

5.9

Advisory

Enabled

6.1

Required

Enabled

6.2

Required

Enabled

7.1

Required

Enabled

7.2

Required

Enabled

7.3

Required

Enabled

7.4

Required

Enabled

8.1

Required

Enabled

8.2

Required

Enabled

8.3

Required

Enabled

8.4

Required

Disabled

8.5

Required

Enabled

8.6

Required

Enabled

8.7

Advisory

Disabled

8.8

Required

Enabled

8.9

Advisory

Enabled

8.10

Required

Enabled

8.11

Advisory

Enabled

8.12

Required

Enabled

8.13

Advisory

Enabled

8.14

Required

Enabled

9.1

Mandatory

Enabled

9.2

Required

Enabled

9.3

Required

Enabled

9.4

Required

Enabled

9.5

Required

Enabled

10.1

Required

Enabled

10.2

Required

Enabled

10.3

Required

Enabled

10.4

Required

Enabled

10.5

Advisory

Enabled

10.6

Required

Enabled

10.7

Required

Enabled

10.8

Required

Enabled

11.1

Required

Enabled

11.2

Required

Enabled

11.3

Required

Enabled

11.4

Advisory

Enabled

11.5

Advisory

Enabled

11.6

Required

Enabled

11.7

Required

Enabled

11.8

Required

Enabled

11.9

Required

Enabled

12.1

Advisory

Enabled

12.2

Required

Enabled

12.3

Advisory

Enabled

12.5

Mandatory

Enabled

12.4

Advisory

Enabled

13.1

Required

Enabled

13.2

Required

Enabled

13.3

Advisory

Enabled

13.4

Advisory

Enabled

13.5

Required

Enabled

13.6

Mandatory

Enabled

14.1

Required

Enabled

14.2

Required

Enabled

14.3

Required

Enabled

14.4

Required

Enabled

15.1

Advisory

Enabled

15.2

Required

Enabled

15.3

Required

Enabled

15.4

Advisory

Enabled

15.5

Advisory

Enabled

15.6

Required

Enabled

15.7

Required

Enabled

16.1

Required

Enabled

16.2

Required

Enabled

16.3

Required

Enabled

16.4

Required

Enabled

16.5

Required

Enabled

16.6

Required

Enabled

16.7

Required

Enabled

17.1

Required

Enabled

17.2

Required

Enabled

17.3

Mandatory

Not supported

17.4

Mandatory

Enabled

17.5

Advisory

Enabled

17.6

Mandatory

Enabled

17.7

Required

Enabled

17.8

Advisory

Enabled

18.1

Required

Enabled

18.2

Required

Enabled

18.3

Required

Enabled

18.4

Advisory

Enabled

18.5

Advisory

Enabled

18.6

Required

Enabled

18.7

Required

Enabled

18.8

Required

Enabled

19.1

Mandatory

Enabled

19.2

Advisory

Enabled

20.1

Advisory

Enabled

20.2

Required

Enabled

20.3

Required

Enabled

20.4

Required

Enabled

20.5

Advisory

Enabled

20.6

Required

Enabled

20.7

Required

Enabled

20.8

Required

Enabled

20.9

Required

Enabled

20.10

Advisory

Enabled

20.11

Required

Enabled

20.12

Required

Enabled

20.13

Required

Enabled

20.14

Required

Enabled

21.1

Required

Enabled

21.2

Required

Enabled

21.3

Required

Enabled

21.4

Required

Enabled

21.5

Required

Enabled

21.6

Required

Enabled

21.7

Required

Enabled

21.8

Required

Enabled

21.9

Required

Enabled

21.10

Required

Enabled

21.11

Required

Enabled

21.12

Required

Enabled

21.13

Mandatory

Enabled

21.14

Required

Enabled

21.15

Required

Enabled

21.16

Required

Enabled

21.17

Mandatory

Enabled

21.18

Mandatory

Enabled

21.19

Mandatory

Enabled

21.20

Mandatory

Enabled

21.21

Required

Enabled

22.1

Required

Enabled

22.2

Mandatory

Enabled

22.3

Required

Enabled

22.4

Mandatory

Enabled

22.5

Mandatory

Enabled

22.6

Mandatory

Enabled

22.7

Required

Enabled

22.8

Required

Enabled

22.9

Required

Enabled

22.10

Required

Enabled