Generation 2 and generation 3 technology stacks share the same firmware but with different VIDs/PIDs.
The following firmware tools
work only reference firmware, or a derived firmware is running in the module. The reference/derived firmware is necessary because the three tools make use of TE API Commands (see the corresponding API reference manual) executed by the USB FX2 microcontroller. These tools are therefore able to update the firmware (EEPROM programming) of the USB FX2 microcontroller and the FPGA configuration file (bitstream, SPI Flash programming).
Note: some TE API Commands requires support from a Xilinx MicroBlaze soft embedded processor (of the TE reference/derived architecture), but this TE API Commands are not needed for EEPROM and SPI Flash programming.
The following firmware tools
work also if the reference firmware, or a derived firmware is not running in the module. The reference/derived firmware is not necessary because they do not make use of TE API Commands. Conversely, they directly make use of CyAPI.lib and CyUSB.dll, respectively. These two tools are therefore only able to update the firmware of the USB FX2 microcontroller, but not the FPGA configuration file (bitstream).
Tool | Gen 2 Firmware Upgrade: requires DEWESoft device driver and DEWESoft API | Gen 3 Firmware Upgrade: requires TE USB FX2 device driver and TE API | Firmware Recovery: requires USB generic Cypress device driver, to boot with EEPROM disabled and to enable EEPROM after TE USB FX2 module is inserted into USB port | FPGA Configuration | Microsoft .NET Framework | Python 2.7 interpreter |
---|---|---|---|---|---|---|
DEWESoft Firmware Upgrade Tool | yes | no | no | yes | no | no |
Open_FUT for generation 2 | yes | no | no | yes | no | yes |
Open_FUT for generation 3 | no | yes; it use a simplified TE_USB_FX2_CyAPI.dll | no | yes; it use a simplified TE_USB_FX2_CyAPI.dll | no | yes |
CyConsole = Cypress USB Console | no | yes | yes, Recovery Boot | no | no | no |
CyControl = Cypress USB Control Center | no | yes | yes, Recovery Boot | no | yes | no |
OpenFutNet: 3 procedures are available | no, Recovery Procedure should be used instead | yes, Firmware Upgrade; it use both CyUSB.dll and TE_USB_FX2_CyUSB.dll | yes, Recovery Procedure; it use CyUSB.dll | yes, FPGA Configuration; it use both CyUSB.dll and TE_USB_FX2_CyUSB.dll | yes, (version ≥ 4.0.30319) | no |
VID/PID:
Firmware files:
Firmware update tools:
Documentation
VID/PID:
Firmware files:
Firmware update tools:
Documentation
A recovery boot is a multi-step boot operation:
Using Cypress firmware update tools with generation 2 modules does require a recovery boot, in order to force enumeration as Cypress generic USB device driver.
On the other side, using Cypress firmware update tools with generation 3 modules does not require a recovery boot. This is possible because the original Cypress generic USB device driver (in case of a recovery boot) and the Trenz Electronic USB FX2 device driver ( in case of a regular boot) are both Cypress driver. Trenz Electronic USB FX2 driver derives from the original Cypress generic USB device driver.
EEPROM switch shall always be on during EEPROM programming.
The firmware update procedure is similar for both generations. The following table summarizes the main differences.
|
Further information is shown in the following video play lists.