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

Help understanding assertion in secure serial DFU

Hello,

I am porting the secure serial bootloader from the nRF52833 DK (PCA10100), in which it works fine, to my custom board. I press the button and turn my board on to enter into DFU mode... and nothing happens. However, using RTT (below) I get some information.

[Note: I am using SDK 17.0.2, I also have loaded Softdevice S140 even though it is not used]

I am seeing the following data (using RTT):

00> <info> app: Inside main
00>
00> <debug> app: In nrf_bootloader_init
00>
00> <error> app: Received a fault! id: 0x00004002, pc: 0x00000000, info: 0x20008298
00>

id=0x00004002 means I have a NRF_FAULT_ID_SDK_ASSERT

pc: 0x00000000 means this is not valid or useful data

info: 0x20008298 How do I interpret this?

In case it helps, I used J-Link Commander and typed:

J-Link> mem 0x20008298, 8

20008298 = EC 01 00 00 2C 6E 07 00

Thank you.

Parents
  • Hi Andres, 

    Is the secure DFU Bootloader over UART or USB? Does your board connect with UART or USB?

    If you define DEBUG in your preprocessor definitions, the app_error_handler() will be called instead of the app_error_handler_bare() in main.c whenever an APP_ERROR_CHECK(err_code) receives an err_code != 0. If you need more information, you can look at the __WEAK implementation of app_error_fault_handler() in app_error_weak.c to print more information. 

    -Amanda H.

Reply
  • Hi Andres, 

    Is the secure DFU Bootloader over UART or USB? Does your board connect with UART or USB?

    If you define DEBUG in your preprocessor definitions, the app_error_handler() will be called instead of the app_error_handler_bare() in main.c whenever an APP_ERROR_CHECK(err_code) receives an err_code != 0. If you need more information, you can look at the __WEAK implementation of app_error_fault_handler() in app_error_weak.c to print more information. 

    -Amanda H.

Children
Related