I have OTA working with the new ebl files on SDK 2.1.1. But when I take the same code to SDK 2.3.1, I am unable to reboot into DFU mode, and thus none of the upgrade process works. Are there changes in this process between the two SDKs?
I can't even get DFU to work during a full OTA stack upgrade (none of my own app code running). For example: I start with 2.1.1 stack, reboot to DFU, upload 2.3.1 stack.ebl, reboot and it isn't in DFU mode to start accepting the app.ebl?
At least one important change: gecko_cmd_dfu_reset parameter (Boot mode) is now defined as:
• 0: Normal reset
• 1: Boot to UART DFU mode
• 2: Boot to OTA DFU mode
Previously same parameter 1 was used for both UART and OTA updates.
As far as I know, with stack 5.0, to reboot in dfu mode, the parameter of "gecko_cmd_system_reset" must be "2", not "1".
Rebooting to a 2 makes sense for when I do the initial reboot in the app. Thank you.
But it seems like the reboot that happens between the stack.ebl and the app.ebl is broken? Is it possible that the stack is switching itself to UART after the stack.ebl is uploaded?
Actually, it looks like everything is working once I switched to 1 -> 2 on the reboot. Thank you.