add hard_fault handler

This commit is contained in:
TT 2017-01-22 13:03:40 +09:00
parent 373e56f006
commit 79d1060a46
2 changed files with 21 additions and 0 deletions

2
.gdbinit Normal file
View file

@ -0,0 +1,2 @@
target extended-remote :4242
b hard_fault_handler_c

19
main.c
View file

@ -1485,3 +1485,22 @@ int main(void)
chThdSleepMilliseconds(1000);
}
}
/* The prototype shows it is a naked function - in effect this is just an
assembly function. */
void HardFault_Handler( void );
void hard_fault_handler_c(uint32_t *sp) __attribute__( ( naked ) );;
void HardFault_Handler(void)
{
uint32_t* sp;
//__asm volatile ("mrs %0, msp \n\t": "=r" (sp) );
__asm volatile ("mrs %0, psp \n\t": "=r" (sp) );
hard_fault_handler_c(sp);
}
void hard_fault_handler_c(uint32_t* sp)
{
while (true) {}
}