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

DFU application doesn't seems to be updated

Hi,

I am currently trying to perform DFU update over BLE, I am working on SDK v11.0, and Softdevice S130 v2.0.0. My traget is an nRF51822-QFACA1.

When I enter in bootloader mode, everything works fine until I am trying to upload trhough BLE an Init packet from my smartphone with the nRF Toolbox app.

When an app is already flashed on the device, bootloader_app_is_valid returns 0, then it enters in bootloader_dfu_start() and waits for events. When I launch the upload of the new firmware, the device goes back directly to bootloader_app_is_valid (bootloader_dfu_start doesn't seems to return according to the RTT trace), then do a system reset, and the bootloader restarts.

When I have an app flashed and I use the following command : nrfjprog --family nrf51 --memwr 0x3fc00 --val 1, I have to force the device to go in DFU with a button, which is normal. Then in DFU mode, the bootloader_app_valid function goes in the following condition : "(p_bootloader_settings->bank_0 == BANK_VALID_APP)", which is ok and the CRC variables are the following : 'image_crc = 0, bank_0_crc = 0', then the bootloader_dfu_start function begins and waits for events. Then when I try to update the firmware, the program goes back to bootloader_app_is_valid function, which does the same than the first time, and then the bootloader starts the old version of the app.

When I have no app already flashed, a reset is done and the bootloader restarts. I noticed in this case that in the bootloader_app_is_valid function, the "(*((uint32_t *)app_addr) == EMPTY_FLASH_MASK)" condition is true, so the function returns false, and the device reset directly after that.

From know I didn't see any errors, could you please help me to understand what to do to solve this problem ?

Best regards,

Guillaume

Parents
  • Hi Guillaume,

    Could you clarify, if you don't have any app flashed, can you do a DFU update ? Or the device simply restart and you can't do any update ? Could you describe clearly what happens, would the device advertise as DFUTarg ?

    Note that you can uncheck the optimization level and debug the bootloader to figure out why it restart/crash. You may need to follow this instruction on how to debug.

    My suggestion is to try to test with the default, unmodified example. Also please describe how you generate the .zip file for DFU ? Have you tried to use a default .zip provided with the nRFToolbox ?

Reply
  • Hi Guillaume,

    Could you clarify, if you don't have any app flashed, can you do a DFU update ? Or the device simply restart and you can't do any update ? Could you describe clearly what happens, would the device advertise as DFUTarg ?

    Note that you can uncheck the optimization level and debug the bootloader to figure out why it restart/crash. You may need to follow this instruction on how to debug.

    My suggestion is to try to test with the default, unmodified example. Also please describe how you generate the .zip file for DFU ? Have you tried to use a default .zip provided with the nRFToolbox ?

Children
No Data
Related