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 Toolyesnonoyesnono
Open_FUT for generation 2yesnonoyesnoyes
Open_FUT for generation 3noyes; it use a simplified TE_USB_FX2_CyAPI.dllnoyes; it use a simplified TE_USB_FX2_CyAPI.dllnoyes
CyConsole = Cypress USB Consolenoyesyes, Recovery Bootnonono
CyControl = Cypress USB Control Centernoyesyes, Recovery Bootnoyesno

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.dllyes, (version ≥ 4.0.30319)no

 

Generation 2

VID/PID:

Firmware files:

Firmware update tools:

Documentation

Generation 3

VID/PID:

Firmware files:

Firmware update tools:

Documentation

Recovery Boot

A recovery boot is a multi-step boot operation:

  1. module is off and connected;
  2. EEPROM switch is set off;
  3. module is powered on;
  4. module enumerates in recovery mode (VID = 0x04B4, PID = 0x8613);the module is served by the Cypress generic USB device driver;the Cypress generic USB device driver allows Cypress firmware update tools (Cypress Console, Cypress Control Center) to work with the Cypress EZ-USB FX2 microcontroller on the module;
  5. EEPROM switch is set back on;Cypress firmware update tools can read and write the EEPROM.

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.

generation

2: recovery boot

3: recovery boot

3: regular boot

boot mode (EEPROM switch)

recovery (off, then on)

recovery (off, then on)

regular (always on)

VID

04B4

04B4

0BD0

PID

8613

8613

0300

device

Cypress generic USB

Cypress generic USB

TE USB FX2

required driver

recovery driver

recovery driver

regular driver

update applications

Cypress USB Console
Cypress USB Control Center

Further information is shown in the following video play lists.