Hello,
when I try to update bootloader on nRF52 from SDK12.3 to SDK14.2 using DFU over BLE I get INSUFFICIENT_RESOURCES error. I think it is caused by different sizes of bootloaders.
Is there any way to safely update bootloader over BLE?
Hello,
when I try to update bootloader on nRF52 from SDK12.3 to SDK14.2 using DFU over BLE I get INSUFFICIENT_RESOURCES error. I think it is caused by different sizes of bootloaders.
Is there any way to safely update bootloader over BLE?
Hi Krystian,
I don't think there is much change in the bootloader size in SDK v12.3 vs SDK v14.2.
What was the start address of your bootloader in SDK v12.3 ? As far as I can see they both start at address 0x78000.
Could you provide the log when you see the error ?
Bootloader in SDK12.3 starts from 0x75000 and in SDK14.2 from 0x73000.
Logs bootloader:
0> :INFO:PB: Init data len: 60
0> :INFO:Handling signed command
0> :INFO:Prevalidate FAILED!
0> :INFO:Sending Response: [0x4, 0xa]
Logs form nRF Connect:
When writing 'EXECUTE' command to Control Point Characteristic of DFU Target: Operation code 4 (EXECUTE) failed on DFU Target. Result code 10 (OPERATION_FAILED)
Maybe you were using the _debug version of the bootloader in SDK v14.2
The non debug should start at address 0x78000.
Both bootloaders are the _debug version.
It should be 0x73000 if you are using debug version in SDK v12.3. If it's not, please change the configuration.
The problem is that I have bootloader SDK v12.3 on several devices and I can't change it without DFU.
Probably i will try with bootloader in SDK v14.2 non debug version.
Yes, you can try that. Be aware that with non debug mode, you need to make sure the new bootloader version is > the current one.
There is a possibility to erase the UICR and write a new UICR to increase the size of the bootloader before swapping the bootloader however it's complex and have a risk to brick the device if the DFU process is interrupted.
Yes, you can try that. Be aware that with non debug mode, you need to make sure the new bootloader version is > the current one.
There is a possibility to erase the UICR and write a new UICR to increase the size of the bootloader before swapping the bootloader however it's complex and have a risk to brick the device if the DFU process is interrupted.