Gast
#2087094
Servus, ich grübele gerade über folgendem Problem: Mein C-Code rennt auf einmal in den Handler für HardFaultException. Das HFSR bei $E000ED2C steht auf $40000000. Somit ist das FORCED-Bit gesetzt. Dieses sagt aus, dass (lt. "The definitive guide to the ARM Cortex-M3") die Handler für MemoryManagementFault, UsageFault oder BusFault nicht aufgerufen werden konnten. Allerdings habe ich alle Handler definiert und genauso wie den HardFault-Handler in der Vektortabelle eingetragen. Und im UFSR bei $E000ED2A steht $0002 drin: "attempts to switch to an invalid state". Da ich aber keinen ASM-Code geschrieben habe, der hier ausgeführt werden könnte bei dem in einer Adresse das LSB nicht gesetzt ist, frage ich mich, was da schief gelaufen ist. Dann müsste ja der C-Compiler (IAR V5.50) falschen Code erzeugt haben. Irgendwer eine Idee?