Re-enumerate FX3/CX3/FX3S After Programming to Flash or EEPROM Using BootProgrammer Firmware – KBA231455
Author: HemanthR_06 Version: **
How do I cause re-enumeration of FX3/CX3/FX3S after programming to SPI flash or I2C EEPROM using the Control Center application without pressing the reset button or disconnecting the device physically?
Using the Control Center application, programming a firmware image into I2C EEPROM or SPI Flash is done as shown below:
Once I2C EEPROM or SPI flash is selected, the FX3 Bootloader device comes up as ‘Cypress FX3 USB BootProgrammer Device’ and prompts the user to select the firmware image to download into EEPROM or flash as shown below:
Once the firmware download is done, FX3 needs a cold reset to boot from the new image downloaded into EEPROM or flash. Pressing the reset button or power cycling the board causes FX3 to boot from the new firmware (if PMODE pins are set as required).
FX3 cold reset can also be achieved by issuing the 0xE0 vendor command from the BootProgrammer Device as follows:
After control center shows the message: “Programming of I2C EEPROM Succeeded” or “Programming of SPI FLASH Succeeded”, issue the 0xE0 vendor command as shown below:
Figure 1: Vendor command usage in control center
If the PMODE pins of FX3 are set either to 1ZZ or Z1Z, the device will re-enumerate with the new firmware from the EEPROM or flash respectively or fall back to USB and enumerate as a ‘Cypress FX3 USB Bootloader Device’ if there are any issues with the new firmware.
- boot programmer
- control center
- i2c eeprom
- spi flash
- vendor command