bootloader doesnt start application

there is some weird behavior on my XIAO nrf52840. Im developing omn skd 15.3 am using a secure bootloader.

all of my dfu OTA processes work well but I noticed that some of my chips wont start the application from the bootloader. to be precise I can debug the bootloader up to this pont: 

ASSERT((dst_addr % CODE_PAGE_SIZE) == 0);

in the nrf_bootloader_fw_activation.c file (line 81)

after this line the bootloader goes back to its start. this doesnt happen on every chip though so I dont know whats happening at all.

The flash readings of a chip that works and one that doesnt are identical for my firmware.
Parents
  • You can see in the code:

    ASSERT((dst_addr % CODE_PAGE_SIZE) == 0);

    that the assert statement is making sure the alignment of the destination address is correct.

    It looks like there are no problems in the code /application but when the bootloader is copying the image then it finds some misalignments in the destination address. 

    I am not sure why it has happened but looks like due to the hardware as you have the same firmware. Also, it is difficult to say anything if that is not reproducible and only happens sometimes.

Reply
  • You can see in the code:

    ASSERT((dst_addr % CODE_PAGE_SIZE) == 0);

    that the assert statement is making sure the alignment of the destination address is correct.

    It looks like there are no problems in the code /application but when the bootloader is copying the image then it finds some misalignments in the destination address. 

    I am not sure why it has happened but looks like due to the hardware as you have the same firmware. Also, it is difficult to say anything if that is not reproducible and only happens sometimes.

Children
No Data
Related