NRF_ERROR_SVC_HANDLER_MISSING PC at 0x00025D3D

Hi,

I'm using nRF52810 with SDK 17.02.

When I don't download bootloader my application worked normally. After I downloaded bootloader, there logging NRF_ERROR_SVC_HANDLER_MISSING.

Parents
  • Hi,

    The error code is actually referring to the UARTE.ERRORSRC bit in this case.  And "1" means you have an OVERRUN error which indicates that your app is not emptying the UART RX buffer fast enough.

    When I don't download bootloader

    How are you downloading the bootloader? Is it with a programmer, or is that what you are doing over the UART interface when you get the crash?

  • How are you downloading the bootloader?

    I download soft device and bootloader with J-flash, and update my application with DFU. 

    After update my application, this error will happen on UART interface in my application process.

    that your app is not emptying the UART RX buffer fast enough

    How could I empty the UART RX buffer? I need to empty the "data_array" when the "data_index" larger than RX_BUFF_SIZE?

  • The bootloader should not have any affect on how the application runs. Do you always get this error with the bootloader present, and never when it is not?

    ColorPen said:
    How could I empty the UART RX buffer? I need to empty the "data_array" when the "data_index" larger than RX_BUFF_SIZE?

    It's when you are calling app_uart_get() from the callback. So the error basically indicating that the uart callback is not being processed frequently enough. Maybe it is being blocked by some other interrupt.

Reply
  • The bootloader should not have any affect on how the application runs. Do you always get this error with the bootloader present, and never when it is not?

    ColorPen said:
    How could I empty the UART RX buffer? I need to empty the "data_array" when the "data_index" larger than RX_BUFF_SIZE?

    It's when you are calling app_uart_get() from the callback. So the error basically indicating that the uart callback is not being processed frequently enough. Maybe it is being blocked by some other interrupt.

Children
Related