I would like to use Winbond W25Q16FW (16Mbit) flash to replace the default W25Q80EW. After reading the section 10.2.1 of Software Platform Reference, I could't understand how to decide the "Flash density JEDEC ID" and "The Flash type JEDEC ID" in qspi_XXX_template. The below is what I found in W25Q16FW 's datasheet. It seems that the W25Q16FW has same Flash desity (0x14) with W25Q80EW. Is it correct that I can use the qspi_w25q80ew.h for W25Q16FW (16Mbit) flash without any modification in qspi_w25q80ew.h? thanks for your help.
8.1.1 Manufacturer and Device Identification
MANUFACTURER ID (MF7 - MF0)
Winbond Serial Flash EFh
Device ID (ID7 - ID0) (ID15 - ID0)
Instruction ABh, 90h, 92h, 94h 9Fh
W25Q16FW 14h 6015h
Device:
Hi Nigel,
The Manufacturer and Device Identification is different between these two device . You may need to modify the qspi_w25q80ew.h according to the ID.
Device ID (ID7-ID0) (ID15-ID0)
Instruction ABh, 90h, 92h, 94h 9Fh
W25Q16FW 14h 6015h
W25Q80EW 13h 6014h
BR,
Hi Dialog,
I mounted the 16Mb flash, w25q16fw, in my board, and tried to modify "qspi_w25q80ew.h" to fit w25q16fw. I revised W25Q80EW (0x60), W25Q_8Mb_SIZE (0x15) and added "#define USE_PARTITION_TABLE_2MB_WITH_SUOTA" in custom_config_qspi_suota.h. When I use smartsnippets tool to monitor QSPI Partition table, it still showed 8Mb partition table. What else settings do I miss if I want to use w25q16fw instead of w25q80ew ?
thanks for your help
Hi nigelyang,
The recommended procedure that I would advice you to follow, is being described into 10.2.1.7 Adding support for a new flash device paragraph ofUM-B-044 User Manual: DA1468x Software Platform Referencedocument. Also, the partitin table is defined under sdk/config folder. Do you make your own partition table? The custom flash configurations are using the macros shown in Table 39 of UM-B-044-, which must be defined in the config/custom_config_qspi.h .
Thanks, PM_Dialog
hi Dialog,
I choosed an easy way to use w25q16fw by modifying the header file, "qspi_w25q80ew.h" instead of create a new "qspi_xxx.h" becuase both w25q16fw (2Mb) and W25Q80EW (1Mb) are same manufactuer but different memory size. I revised W25Q_8Mb_SIZE to be 0x15, and defined USE_PARTITION_TABLE_2MB_WITH_SUOTA ,mark off USE_PARTITION_TABLE_1MB_WITH_SUOTA in custom_config_qspi_suota.h . Cleaned and builded project. Then executed Earsed qspi item in IDE and programed qspi flash. However, I always got the 1Mb partition table when I used Smartsnippet tool to read the partition table. What do I miss ? It seems to always be pointed to 1M/suota/partition_table.h.
thanks for your help.
Hi nigelyang,
Could you please provide me your custom partition table that you are using?
Thanks, PM_Dialog
hi Dialog
I am using DSPS project to test the exchange from 8Mb to 16Mb. If I copied the partition table of SDK\config\2M\suota\partition_table to SDK\config\1M\suota\partition_table, and then clean and rebuild all workspace, it works! ( read 2Mb partition table via smart snippet tools ). I am just curious why the macro #define USE_PARTITION_TABLE_2MB_WITH_SUOTA in custom_config_qspi_suota.h does not work.
thanks for your answer
Hi nigelyang,
The best practice is to add the partition table under config\2M\suota\partition_table path and then define the USE_PARTITION_TABLE_2MB_WITH_SUOTA macro.
Thanks, PM_Dialog