Hardfault handler error ?

Dear Members,

I followed the step on :

https://devzone.nordicsemi.com/f/nordic-q-a/71299/getting-hardfault-error-when-using-ble-lesc-pairing/292979#292979

and I got this error :

..\..\..\..\..\..\components\libraries\hardfault\nrf52\handler\hardfault_handler_gcc.c(80): error:  #18: expected a ")"

I'm using SDK 17.0.2 ,

I tried adding ")", it's not the answer...

How to fix it ?

Thanks

Parents
  • void HardFault_Handler(void)
    {
        __ASM volatile(
        "   tst lr, #4                              \n"
    
        /* PSP is quite simple and does not require additional handler */
        "   itt ne                                  \n"
        "   mrsne r0, psp                           \n"
        /* Jump to the handler, do not store LR - returning from handler just exits exception */
        "   bne  HardFault_Handler_Continue         \n"
    
        /* Processing MSP requires stack checking */
        "   mrs r0, msp                             \n"
    
        "   ldr   r1, =__StackTop                   \n"
        "   ldr   r2, =__StackLimit                 \n"
    
        /* MSP is in the range of the stack area */
        "   cmp   r0, r1                            \n"
        "   bhi   HardFault_MoveSP                  \n"
        "   cmp   r0, r2                            \n"
        "   bhi   HardFault_Handler_Continue        \n"
    
        "HardFault_MoveSP:                          \n"
        "   mov   sp, r1                            \n"
        "   mov   r0, #0                            \n"
    
        "HardFault_Handler_Continue:                \n"
        "   ldr r3, =%0                             \n"
        "   bx r3                                   \n"
        "   .ltorg                                  \n"
        : : "X"(HardFault_c_handler)
        );
    }

Reply
  • void HardFault_Handler(void)
    {
        __ASM volatile(
        "   tst lr, #4                              \n"
    
        /* PSP is quite simple and does not require additional handler */
        "   itt ne                                  \n"
        "   mrsne r0, psp                           \n"
        /* Jump to the handler, do not store LR - returning from handler just exits exception */
        "   bne  HardFault_Handler_Continue         \n"
    
        /* Processing MSP requires stack checking */
        "   mrs r0, msp                             \n"
    
        "   ldr   r1, =__StackTop                   \n"
        "   ldr   r2, =__StackLimit                 \n"
    
        /* MSP is in the range of the stack area */
        "   cmp   r0, r1                            \n"
        "   bhi   HardFault_MoveSP                  \n"
        "   cmp   r0, r2                            \n"
        "   bhi   HardFault_Handler_Continue        \n"
    
        "HardFault_MoveSP:                          \n"
        "   mov   sp, r1                            \n"
        "   mov   r0, #0                            \n"
    
        "HardFault_Handler_Continue:                \n"
        "   ldr r3, =%0                             \n"
        "   bx r3                                   \n"
        "   .ltorg                                  \n"
        : : "X"(HardFault_c_handler)
        );
    }

Children
No Data
Related