Hello,
I am not able to update the softdevice from 6.0.0 to 6.1.0. This usecase is useless as I am in dev stage of my product. However I need to be sure I will be able to update later the softdevice.
So I program my IC with the 6.0.0 and an old app version and use DFU over UART to program both SD and App. The DFU is properly able to program the application (when softdevice is already up to date). the DFU controller stack is homemade (STM32). So here is what I have done. I generate a SD+APP package using nrfutil. as , I add the binaries directly in my code and send it to the bootloader.
I start by the softdevice to avoid any validation error. But it always stop at 96% of the download, after that the bootloader stop responding. I am always stuck after the offset 0x23000 of the binary, but the size is 0x2436C. Before that, everything goes fine. I am pretty convince that it consider the new SD is too big but I do not know how to solve this problem.
As it failed, the controler try to restart the process. So it select the init packet, and CRC and size are already OK. then it select the binary to restart the download where it was, but the answer is not correct as offset = 0x100 despite the fact that the CRC is correct during the whole process of the first 0x23000 bytes. I set the PRN to 1 so that every packet is confirmed and CRC is checked. And it is correct during the whole process. It looks like it overlaps the next section.
I do not change any default organization of the memory, so the SD start at 0x1000, the app at 0x26000 to 0x381D8.
I am in single bank mode.
Hope you can help.
Regards