// NVIC - Default ISR
void fault_isr()
{
- print("Fault!");
+ print("Fault!" NL );
while ( 1 )
{
// keep polling some communication while in fault
// NVIC - Non-Maskable Interrupt ISR
void nmi_default_isr()
{
- print("NMI!");
+ print("NMI!" NL );
}
// NVIC - Hard Fault ISR
void hard_fault_default_isr()
{
- print("Hard Fault!");
+ print("Hard Fault! SCB_HFSR: ");
+ printHex32( SCB_HFSR );
+ print( NL );
+ SOFTWARE_RESET();
}
// NVIC - Memory Manager Fault ISR
void memmanage_fault_default_isr()
{
- print("Memory Manager Fault!");
+ print("Memory Manager Fault! SCB_CFSR: ");
+ printHex32( SCB_CFSR );
+ print(" SCB_MMAR: ");
+ printHex32( SCB_MMAR );
+ print( NL );
}
// NVIC - Bus Fault ISR
void bus_fault_default_isr()
{
- print("Bus Fault!");
+ print("Bus Fault! SCB_CFSR: ");
+ printHex32( SCB_CFSR );
+ print(" SCB_BFAR: ");
+ printHex32( SCB_BFAR );
+ print( NL );
}
// NVIC - Usage Fault ISR
void usage_fault_default_isr()
{
- print("Usage Fault!");
+ print("Usage Fault! SCB_CFSR: ");
+ printHex32( SCB_CFSR );
+ print( NL );
}