This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NRF_FAULT_ID_SD_ASSERT

       During the development of nrf52832 (SDK14.2), I occasionally get NRF_FAULT_ID_SD_ASSERT error. When the NRF_FAULT_ID_SD_ASSERT error occurs, I can only get the information of the PC, but there is no information such as line_num, error code, info, etc. How should I analyze? What kind of problem is there?

  • I hope that you know that this error is normal when you are trying to debug and step in the application after the softdevice is enabled.

    It seems like you got "id" also along with "PC". Since you narrowed the hardfault id to be NRF_FAULT_ID_SD_ASSERT. The line number and file name of the assert is located inside the info structure in app_error.h file

    typedef struct
    {
        uint16_t        line_num;    /**< The line number where the error occurred. */
        uint8_t const * p_file_name; /**< The file in which the error occurred. */
    } assert_info_t;

    Check if you have some valid structure here, if not then something is wrong. Are you seeing these values in a log or in a debug window? If it is the debug window, then i would suggest you to compile the code with no optimizations (and hope that the timing has not changed to be able to reproduce this error.)

Related