MISRA Deviation Permit
| Feld |
Wert |
| Permit-ID |
PER-[XXX] |
| Datum |
[YYYY-MM-DD] |
| Erstellt von |
[Name] |
1. Regelbereich
| Feld |
Wert |
| Regel-Nummer |
[z.B. Rule 11.3] |
| Kategorie |
[Required / Advisory] |
| Regeltext |
[Exakter Text der MISRA-Regel] |
| Standard |
[MISRA C:2012 / MISRA C:2023] |
2. Scope
Dieses Permit gilt fuer:
| Aspekt |
Geltungsbereich |
| Code-Bereich |
[z.B. src/hal/*.c — alle Hardware-Abstraction-Layer Dateien] |
| Modul / Komponente |
[z.B. HAL, CAN-Treiber] |
| Kontext |
[z.B. Register-Zugriffe auf Memory-Mapped I/O] |
Einschraenkung: Dieses Permit gilt ausschliesslich fuer den oben definierten Scope. Abweichungen ausserhalb dieses Bereichs erfordern einen eigenen Deviation Record oder ein separates Permit.
3. Begruendung
[Warum ist die Abweichung von dieser Regel im definierten Kontext vertretbar?]
Beispiel: "Rule 11.3 verbietet Casts zwischen Pointer-Typen. Im HAL sind Casts von uint32_t* auf Register-Structs notwendig, da die Hardware ueber Memory-Mapped I/O angesprochen wird. Die Register-Adressen und Layouts sind durch das Datenblatt definiert und statisch. Eine regelkonforme Alternative existiert nicht."
Begruendung: [Hier ausfuellen]
4. Risikobewertung und Alternativen
Risikobewertung
| Aspekt |
Bewertung |
| Sicherheitsrelevanz |
[Keine / Gering / Mittel / Hoch] |
| Fehlerpotenzial |
[Beschreibung] |
| Absicherung |
[z.B. Unit Tests pruefen korrekte Register-Zugriffe, Code Review Pflicht fuer HAL-Code] |
| Restrisiko |
[Bewertung] |
Geprufte Alternativen
| Alternative |
Bewertung |
| [z.B. Generische Zugriffsfunktionen] |
[z.B. Nicht praktikabel, da hunderte Register] |
| [z.B. Compiler-Erweiterung] |
[z.B. Nicht portabel] |
5. Freigabe
| Feld |
Wert |
| Freigegeben von |
[Name, Rolle] |
| Datum |
[YYYY-MM-DD] |
| Nachweis |
[GitLab-Issue / Wiki-Verweis / Unterschrift] |
6. Gueltigkeit
| Feld |
Wert |
| Gueltig ab |
[YYYY-MM-DD] |
| Gueltig bis |
[YYYY-MM-DD oder "bis auf Widerruf"] |
| Widerrufsbedingung |
[z.B. Bei Aenderung der Zielplattform neu bewerten] |
Dieses Permit wird im GitLab-Wiki unter MISRA-Deviation-Permits abgelegt und aus Deviation Records referenziert.