FX1 has internal RAM to which the code should be copied when the device is reset either from an external EEPROM connected to the I2C lines of FX1 or from the host PC when connected through the USB (loading RAM directly from control center).
Can you please let me know if there is an EEPROM connected to the I2C lines of the FX1 device in your board.
If yes, the enumeration code will be stored in the EEPROM. The functional code depends on the Size of the EEPROM.
There are two ways to load the firmware to the device when through the EEPROM.
1. In case the EEPROM size is small, we use a "C0 Load" where only the enumeration data is stored in the EEPROM and when the device is connected to the host, the actual firmware is loaded from the PC in script file through USB. Here the firmware/code will be in the script file.
2. If the EEPROM size is larger, we can use a "C2 Load" where the entire firmware/code is loaded from the EEPROM to the FX1 on device power on.
Please refer to this application note for more details: https://www.cypress.com/file/43391/download