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

Bootloader Update fails (INSUFFICIENT_RESOURCES)

Hi Nordic forum.

We wanted to update the bootloader over the air. Initially, we had a very plain bootloader (the one provided in the example) but later we added a timer to reset to the application when no packets are received. Updating that bootloader worked.

Later we added a few lines of code to feed the WDT in the bootloader (since we plan to add the WDT in our application), but when we try to update that new bootloader over the air we get the following error:

Error: When writing 'EXECUTE' command to Control Point Characteristic of DFU Target: Operation code 4 (EXECUTE) failed on DFU Target. Result code 4 (INSUFFICIENT_RESOURCES)

I suspected this was due to space issues but I don't know what the limitations are but the hex file that works' size is 103804 and the one not working's size is 104074

We're using nRF52832, SDK ver 13.0, SD132 4.0.2 and nRFutil 3.3.2. Also, we're using the nRF52 HDK PCA10040 to update the bootloader to our device.

Thanks in advance

Parents Reply
  • If you try to update to a larger bootloader, then you will get an error that the image is to large. This is because theMBR looks up the bootloader start address, which is written to one of the UICR registers which is set when you initially flashed the device.

    It is possible to change modify the UICR register, as described in this answer, but it should only be used as a last resort as this approach could lead to the device being bricked if a power failure occurs.

Children
No Data
Related