# 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.*