Verifying Flash Content – KBA225064

Version 2

    Author: YangyangC_06           Version: **

    Question:
    How can I check if the flash content is correct?

    Answer:
    In the FX3/CX3 design, SPI Flash is frequently used to store firmware. One of the problems customers often face is that of FX3/CX3 not booting from flash. To check if the firmware stored in flash is valid, the flash read/write firmware can be used for troubleshooting.

    The example project is located at C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\serialif_examples\cyfxusbspidmamode. Build and download the Img file into FX3 RAM. FX3 will enumerate as the bulkloop device, as shown in the following screenshots

    Figure1. Download Firmware into RAM

    Figure 2. FX3 Enumerates as Bulk Loop Device

    Expand configuration 1, choose control endpoint, and fill the blanks on the right side of the panel. After that, click Transfer Data. This will issue the vendor command, which reads 1024 bytes from byte address 0.

    Figure 3. Read 1024 Bytes from Flash

    The length of the read data and the start address can be changed as required. For more information about this command, check the readme.txt in this project.

    The data read back can be stored in a hex file. After checking the content of entire flash, the data in flash can be compared with the Hex editor to check if it is valid.