Initializing/formatting Serial Flash for multi application file system?

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

cross mob
Anonymous
Not applicable

We have developed a board based on the ISM44362 and included a 16 Mbit external serial flash (SST25VF016B).  I am working on the code for OTA updates to the application running on the board.  I want to store my updated app on the external serial flash, then reboot the board to install the new application as is shown in the OTA example code.

I reviewed the wiced_ota_server.c code, in particular the section where wired_framework_app_open() is called, along with getting/setting sizes.  This code has been implemented in my application, followed by calls to wiced_framework_app_write_chunk() to store chunks of the OTA received application data.  I am seeing failures when I call wiced_framework_app_write_chunk().

I have previously erased the serial flash using sflash_chip_erase().  Tracing through the wiced code, I observe that in wiced_apps_get_size(), there is a call to sflash_read to read the app header.  The app header contains "1's" in all data fields (probably due to the erase), and nonsensical values are calculated for addresses and sizes in various functions inside of wiced_apps_common.c because of this.

Is there a way to format/initialize the serial flash to make it look like a multi-application file system?

What is the right way to erase an existing app and write a new one in its place (i.e. when I update from v1.0 to v2.0 to v3.0 etc.)

I am running Wiced SDK 3.1.2.

Thanks,

Allen

0 Likes
1 Solution
JoYi_1844281
Level 6
Level 6
100 sign-ins 100 replies posted 50 likes received

Check this thread SDK 3.1.2 SN8205 snip.ota_fr FR_APP_SECTOR_START maybe there are some hint to you!

View solution in original post

0 Likes
4 Replies