OTA Slots as defined in ota_fr.c

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I'm trying to understand how the OTA works and am a bit confused about some of the example comments.

The comments in ota_fr.c talk about 8 slots being defined in the external flash (using BCM943362WCD4, 1Meg external flash).

One of the slots is reserved for the WIFI_FIRMWARE, BUT when I build my app, the WIFI_FIRMWARE is part of my binary/elf file.

So why would a slot be reserved for this? Is there a mechanism for breaking this out of my app and updating it independently?

I ask because the 1Meg external flash seems wholly inadequate. If your app has the OTA + WIFI code included in it, it is almost always going to be >500k. If you want to download a new image that is also >500k, it will not fit into the external flash (unless you erase the original image first).

If I can separate out the WIFI code (208k), then you could save ~208k on your default and OTA app images.

TIA.

0 Likes
1 Reply
Anonymous
Not applicable

Hi,

Despite one of the multi application slots being reserved for WIFI_FIRMWARE, (if not set) it is not actually taking any memory from external flash. However, although the mutli application can talk a WIFI firmware the full code of loading the firmware from serial flash to the WLAN chip is not fully implemented yet.

Another way to offload the firmware from the the application to the serial flash is to use a read only external file system. Please have a look at this Keep web content (.html, .js) on external flash in a filesystem

Regards,

Bassem

0 Likes