I am using SDK 3.3.1, my application size is 770kb. my flash size is 1MB. so only way i can do OTA upgrades is through external flash, can anybody please tell me how can achieve OTA using SPI serial flash?

Sorry for the delayed response. Am using BCM9WCDPLUS114. I believe it has internal flash of 1MB. Now my application has reached the size of 850KB, which will have built-in OTA capability. Here is what i want to achieve, want to have ota_fr as default app(FR app, so that device can be recovered at any point) and also i should be able to upgrade to new app which will be again 850KB. Please suggest the possibilities with detailed steps.

As already mentioned above, OTA and multip-app file system reside in external flash. The size of external flash for your platform is 1MB as well. so with the size of your application reaching 850KB, there is no way you can put factory reset application and an upgradable version of your application in external flash. There are couple of options that you can try:

- Move the WiFi firmware to the external flash. The WICED SDK, can now support putting the WiFi firmware as part of the multi-app file system in the external flash. This will make your application smaller and each application (the one in internal flash, the factory reset and the upgraded version) use the same copy (rather than each have it's own copy). To see how to do this have a look at apps/snip/firmware_external

I'm not sure if Wiced SDK 3.1.2 have this feature, but you can try upgrading to later version and this should be there.