1) What flash products are currently supported within WICED?
Cypress : S25FL064L, S25FL128L, S25FL256L
Macronix : MX25L8006E, MX25L1606E, MX25L6433F, MX25L12835F, MX25L25635F, MX25U1635F, MX66U51235F
Micron : N25Q512A, N25Q064A
Microchip : SST25VF080B
Winbond : W25Q64FV
2) How does one enable a specific SFLASH within in WICED?
There are couple of MACRO defined to each of the above mentioned parts.
# define SFLASH_SUPPORT_CYPRESS_PARTS
One need to enable this Macro as Global defines in .mk file of the platform folder. eg:
GLOBAL_DEFINES += SFLASH_SUPPORT_CYPRESS_PARTS
3) How to store your WLAN firmware into external SFLASH?
One need to add download_apps in the make target of the project. eg:
snip.scan-BCM943907AEVAL1F download_apps download run
4) Which app is going to manage writing to SFLASH?
sflash_write is the code responsible for writing into external flash. You can go to the following location to get access to the code
This app will get loaded into the MCU and will interact with sflash_write.tcl openOCD script to write the data into flash attached to the MCU.
5) How does one test whether sflash_write is working or not?
One can try to build the sflash_write app by itself with no-os or network stack dependency and then can look at the sflash driver to see where it is failing. eg:
waf.sflash_write-BCM943907AEVAL1F-NoNs-NoOS WIPE=1 download run
6) What if one wants to use some different SFLASH other than the verified SFLASH products mentioned above?
You need to create your know SFLASH functions in WICED as per your SFLASH. You can look into the following folder for more info:
As you can see the implementation for different SFLASH, you can take reference and do the changes as per your requirement.
We have also provided different MACRO in sflash_write.c file for testing connected sflash device. Please check the following test mode defines
As sflash_write.c will interact with sflash_write.tcl openOCD script, please verify flash commands described in sflash_write.c matches with commands described in sflash_write.tcl script.