hi:
when device is in ota mode, app quits abnormly, we find device will in OTA forever;
There is 2 versions, A and B, A can quit ,but B can't, B just adds one function, OTA of B is same as A's;
Thanks.
hi:
when device is in ota mode, app quits abnormly, we find device will in OTA forever;
There is 2 versions, A and B, A can quit ,but B can't, B just adds one function, OTA of B is same as A's;
Thanks.
Hi,
Which SDK and SoftDevice version are you using?
when device is in ota mode, app quits abnormly, we find device will in OTA forever;
I am not sure I understood the question correctly. Do you mean that the OTA process is interrupted in the middle of the upgrade? If so, then there are a few things that could be happening:
Or does the problem happen after successfully programming the application via DFU? If so, then a typical reason is if your new code writes to flash, and this flash is within the part of the application that the bootloader checks the CRC of (to see if the application has been corrupted for some reason). If so, the bootloader will enter DFU upgrade mode.
In either of the two cases using RTT logging in the bootloader is always a good idea, as it will most of the time tell you why the bootloader stays in DFU mode instead of starting the application. Note that you must use the debug bootloader project for this.
There is 2 versions, A and B, A can quit ,but B can't, B just adds one function, OTA of B is same as A's;
Can you elaborate?
Hi,
SDK version is v12.3, and SoftDevice version is v3.0;
I mean the OTA process is interrupted in the middle of the upgrade, bootloader stays in DFU mode;
Why the OTA process is interrupted in the middle of the upgrade is because the phone disconnects. If there is no application in flash , could timeout still work? Timeout will restart device, but there is no application, will bootloader stay in DFU mode?
Thanks
After using "nrfjprog.exe --memrd 0 --n 0x80000 > flash_dump.txt", I find that part of the application is erased in DFU process;
How should I do to fixed it;
Thanks.
Hi,
Since the application is deleted there is no application to start, so the only option for the bootloader is to stay in DFU mode. The only way to prevent this from happening is by using dual bank upgrades. If so, the new application would have to fit between the end of the old application and the beginning of the bootloader, or even lower if you use FDS or other application data in flash below the bootloader (see memory layout). Since that is not being done I assume there is not enough free space to do a dual bank application upgrade? If there is no free space then you have to live with the fact that the app stays in DFU mode until a successful upgrade, or alternatively see if you are able to make the application smaller to make it fit.