SDK_ERROR observed

Hi Team,

I'm developing a custom app, based on the ble_app_uart.

I'm observing a error : SDK_ERROR (NRF_FAULT_ID_SDK_ERROR).

I'm unable to root cause it and also unable to get any information about this error.

I even though got the error details connecting the debugger.

Can you please share some insight about this crash/error. It will help to debug further the issue.

I understand the 

Below are error details (taken from function app_error_save_and_stop()):-

Parents
  • Hello,

    Please right click on the 'p_file_name' variable highlighted below and select 'string'. The value field will then display the file path to the file where the code assert was raised. The error occurred at line 1213 (0x4bd) in this file, and the error code was 0x11 (NRF_ERROR_BUSY).

    Best regards,

    Vidar

  • Thank You Vidar.

    I was able to see it by checking the memory address, but this approach is even better.

    Also, Vidar can you help me to generate disassembly file (*.dis) in Segger Embedded Studio which will help to to debug & view the complete code in disassembly.

    I know that the --disassemble, can be used to generate the disassembly but i didnt get the option/place to add this and i guess the Segger Embedded Studio must already have the feature to generate it.

  • Hi Vidar,

    Uploading by project file.

    5153.ble_app_uart_pca10040e_s112.zip

    *Zipping it as it doesn't allow me to upload .emProject file

  • Sorry, I'm not seeing any errors in your project file or in flash_placement.xml. Are you able to upload the whole project so I can try to debug it here?

  • Do you have a bootloader present when you're debugging this? In other words, are you sure the crash is occuring in the application and not in the bootloader?

  • Hi Vidar,

    Sorry to say but I couldn't upload the complete code base.

    Can you help me with some pointer on how to debug it or how you will debug it.

    Also how you got to know that its a corrupted/invalid stack pointer, as I least expect it because i have a simple application and the execution never comes the Application, it crashes even before it.

    I have reasons to say that its not occurring in or due Application as execution never reaches there.

    Also, yes I have also added the bootloader.

    And FYI, am uploading the binaries (bootloader / soft device / application) though JLINK !

    I first use the project dfu\secure_bootloader to write the bootloader (+soft device), then use my project to write the application + soft device. I hope its not an issue.

  • Hi,

    sa.qw said:
    Can you help me with some pointer on how to debug it or how you will debug it.

    Are you able to run the application if you only program the Softdevice and application without the bootloader?

    sa.qw said:
    Also how you got to know that its a corrupted/invalid stack pointer, as I least expect it because i have a simple application and the execution never comes the Application, it crashes even before it.

    Because the stack pointer is well beyond the valid address range for RAM (which ranges from 0x20000000 to 0x20006000).

    sa.qw said:
    I have reasons to say that its not occurring in or due Application as execution never reaches there.

    It's not reaching main(), but is it reaching the application's reset handler?

    sa.qw said:
    I first use the project dfu\secure_bootloader to write the bootloader (+soft device), then use my project to write the application + soft device. I hope its not an issue.

    The bootloader will not be able to boot the application unless you also program a valid bootloader settings page along with it. See Combine application, bootloader and softdevice image - Bootloader setting.

Reply
  • Hi,

    sa.qw said:
    Can you help me with some pointer on how to debug it or how you will debug it.

    Are you able to run the application if you only program the Softdevice and application without the bootloader?

    sa.qw said:
    Also how you got to know that its a corrupted/invalid stack pointer, as I least expect it because i have a simple application and the execution never comes the Application, it crashes even before it.

    Because the stack pointer is well beyond the valid address range for RAM (which ranges from 0x20000000 to 0x20006000).

    sa.qw said:
    I have reasons to say that its not occurring in or due Application as execution never reaches there.

    It's not reaching main(), but is it reaching the application's reset handler?

    sa.qw said:
    I first use the project dfu\secure_bootloader to write the bootloader (+soft device), then use my project to write the application + soft device. I hope its not an issue.

    The bootloader will not be able to boot the application unless you also program a valid bootloader settings page along with it. See Combine application, bootloader and softdevice image - Bootloader setting.

Children
Related