Hallo Rene,
ersteinmal Danke, daß Du dieses Thema nochmal aufgegriffen hast.
Leider konnte ich bis heute mein Problem nicht lösen.
Ich habe mehr durch Zufall jedoch festgestellt, daß meine Software bei einem Stackoverflow auch in meinem HardFault Handler landet.
Dann habe ich noch so einiges probiert:
Code:
/* das bit BUSFAULTPEND im SCB->SHCSR register löschen */
p = (U32*)0xE000ED24;
value = *p; /* register lesen */
value &=(~(U32)(1<<14)); /* bit loeschen */
*p = value; /* registerwert zurück schreiben */
/* das bit IMPRECISERR im SCB->CFSR register löschen */
p = (U32*)0xE000ED28;
value = *p; /* register lesen */
value &=(~(U32)(1<<14)); /* bit loeschen */
*p = value; /* registerwert zurück schreiben */
ENABLE;
__asm ("CPSIE F");
Alles ohne Erfolg. Meine Interrupts nach dem HardFault sind nach wie vor komplett gesperrt.
Eine Nachfrage direkt bei NXP blieb leider ohne Rückmeldung.
Ich werde mich auch nochmal diesem Thema widmen. Sobald ich etwas in Erfahrung bringe werde ich es posten.
Siro
Lesezeichen