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

Using SEGGER RTT backend crash the program

Whenever i chose SEGGER RTT backend the program crash after running for sometime throwing fatal error info: 0x2000FDBC. According to the documentation the error seems like SoC library error code. However, Only 10 Error codes are documented (ref).

Thus, to be more clear my question is do i need to do any additional configuration when using SEGGER rtt for debug ? (i only enabled the NRF_LOG_BACKEND_RTT_ENABLED macro). In addition did i look for the error documentation in the correct place ?

I am running ble HID keyboard example code

Parents
  • Hi,

    Could it be that 0x2000FDBC is actually a pointer to an address in RAM where an error_info_t struct with more info is located?

    If you are using the weak error handler for example:

    __WEAK void app_error_fault_handler(uint32_t id, uint32_t pc, uint32_t info)
    

    you can cast the info variable like this:

    static error_info_t  * p_error_info;
    p_error_info = (error_info_t*)info;
    

    to get the real error code and location of the error's origin. Here you can find a suggestion for a modified error handler that prints the relevant info.

Reply
  • Hi,

    Could it be that 0x2000FDBC is actually a pointer to an address in RAM where an error_info_t struct with more info is located?

    If you are using the weak error handler for example:

    __WEAK void app_error_fault_handler(uint32_t id, uint32_t pc, uint32_t info)
    

    you can cast the info variable like this:

    static error_info_t  * p_error_info;
    p_error_info = (error_info_t*)info;
    

    to get the real error code and location of the error's origin. Here you can find a suggestion for a modified error handler that prints the relevant info.

Children
No Data
Related