Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
How practical/possible is it to perform an OTA upgrade without using an external serial flash? Can the FR DCT, OTA app and Factory Reset App also be stored on the 1MB MCU flash? I am using STM32F205 as an MCU.
The design of the OTA upgrade system allows applications to be put on internal flash as well well as external.However this was not tested. An address is usually made of two parts, location and physical address. A location is either internal (internal MCU flash) or external (for external serial flash).
However there are some constrains that makes this solution not appealing:
1- Consumes quite a large area in MCU for FR and DCT
2- You have to make sure that your actual running application doesn't over run your file system
3- There is a risk of while updating your internal flash you corrupt your factory reset application (as they are both on the MCU) and then you will end up with a dead board.
Thanks for reply this question.I'm also trying OTA function and have a follow up question according to your reply.
According to Broadcom's documents, OTA process should update the internal flash
We tried to run fr_ota application; in our try, we are able to write FR App along with DCT to external flash, however we failed every time we want to update Production Firmware and stopped at 6%.
I just checked document provided in SDK "WICED-Application-Framework-April-2013.pdf". According to it OTA process shall flush internal section where New Production Firmware resides. However application ota_fr is flushing external flash ( correct me if I'm wrong, please ). We would like to know either how to fix 6% issue or how to change downloading back to internal flash.
Here is my ota_fr.mk content, it might be helpful.
#Set factory reset application to be this same application.
- Loading any of those applications in to the internal flash when requested.
so when you doing an update, you should be writing external flash and once the update is done, you should call wiced_waf_set_boot and point it to the new updated application in the external flash and this will copy it in to internal flash.
One alarming point is that you have a lot of files in the external flash, is the size enough to accommodate for all of these? Also, seem that OTA_APP and APP2 are the same, why do you need to store two copies, you can just use one.
reviewing the flash usage document, I suspect you are correct. It should be possible to have all the three apps stored on the MCU. It does require, however, some dedicated flash code that you'll need to write, plus you are likely to need of modifying the bootloader as well.
doing this would require you to peallocate the flash sections to match the app sizes.