Вот такая бяка обработчик исключений, сидела в одном из системных
файлов пофиксил, ее и все встало на свои места. __weak void HardFault_Handler_C(unsigned int * hardfault_args, unsigned lr_value)
{
static volatile unsigned int stacked_r0;
static volatile unsigned int stacked_r1;
static volatile unsigned int stacked_r2;
static volatile unsigned int stacked_r3;
static volatile unsigned int stacked_r12;
static volatile unsigned int stacked_lr;
static volatile unsigned int stacked_pc;
static volatile unsigned int stacked_psr;
stacked_r0 = ((unsigned long) hardfault_args[0]);
stacked_r1 = ((unsigned long) hardfault_args[1]);
stacked_r2 = ((unsigned long) hardfault_args[2]);
stacked_r3 = ((unsigned long) hardfault_args[3]);
stacked_r12 = ((unsigned long) hardfault_args[4]);
stacked_lr = ((unsigned long) hardfault_args[5]);
stacked_pc = ((unsigned long) hardfault_args[6]);
stacked_psr = ((unsigned long) hardfault_args[7]);
printf (" Hard Fault Handler\n\r");
printf (" R0 = 0x%X\n\r", stacked_r0);
printf (" R1 = 0x%X\n\r", stacked_r1);
printf (" R2 = 0x%X\n\r", stacked_r2);
printf (" R3 = 0x%X\n\r", stacked_r3);
printf (" R12 = 0x%X\n\r", stacked_r12);
printf (" Stacked LR = 0x%X\n\r", stacked_lr);
printf (" Stacked PC = 0x%X\n\r", stacked_pc);
printf (" Stacked PSR = 0x%X\n\r", stacked_psr);
printf (" Current LR = 0x%X\n\r", lr_value);
while(1); // endless loop
}