I asked a question about this a while back, but I am closer to a real deployment now:
I need to update products in the field that are based on the 3.1.2 SDK to the same app built with a new version of the SDK, to get all the latest bugfixes, to try to improve connection reliability, and to cover any known exploits.
I'd like to know if the Cypress folks have any input on a plan for how to accomplish this. The hard part are the little details about upgrading the WiFi FW binary asset.
I have verified that an app ported to the new SDK will indeed boot up with an older version of the WiFi Firmware stored in the sflash. This was the biggest concern.
I have also verified that using the UPDATE_FROM_SDK=3_1_2 APP_USED_BT=1 flags work with the existing 3.1.2 bootloader and the existing app DCT with all our security keys and per-device info survives (or it may be copied or moved internally, I did not go into the deep details).
So the plan is:
1) Update to the new app based on SDK 6.x.x via OTA (not Cypress OTA, but the ELF image is downloaded and stored to sflash in ELF format)
2) New app rewrites the headers in sflash to create space for the new WiFi Firmware asset; existing layout for critical sections remain unchanged (FR app, wifi firmware sections)
3) New app functions as normal on the old Wifi FW
4) New app downloads the new WiFi FW asset at some future time
5) New app does MD5 hash of old WiFi FW and new WiFi FW to ensure that both assets are safely aboard
6) New app erases the old WiFi FW section, copies in the new Wifi FW, does a system reboot.
7) Device should reboot using new WiFi FW and new SDK app
(fallback) If wiced Init not SUCCESS on boot, wiced wlan de-init, erase wifi_fw section and re-do copy, reboot
A thumbs-up on the soundness of this plan from a Cypress employee would be very helpful. Is there anything I am overlooking?
The X factor that I am not sure of is the "NVRAM" header that is part of the platform definition. Are these updatable in the field? Is it expected to need to update the NVRAM parameters with a WiFi FW upgrade for the same hardware?