You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Generation 2 and generation 3 technology stacks share the same firmware but with different VIDs/PIDs.
The following firmware tools

  • DEWESoft FUT (firmware upgrade tool)
  • Open_FUT (generation 2)
  • Open_FUT (generation 3)

work only if the reference architecture, or a derived architecture, is running in the module. The reference/derived architecture is necessary because the three tools make use of API Commands (see the corresponding API reference manual) executed by the Xilinx MicroBlaze soft embedded processor of the reference/derived architecture. These tools are therefore able to update the firmware of the USB FX2 microcontroller and the FPGA configuration file (bitstream).
The following firmware tools

  • Cypress USB Console
  • Cypress USB Control Center

work also if the reference/derived architecture is not running in the module. he reference/derived architecture is not necessary because they do not make use of 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).

Generation 2

VID/PID:

  • 0x0547/0x1002

Firmware files:

Firmware update tools:

  • DEWESoft Firmware Upgrade Tool:It requires DEWESoft device driver and DEWESoft API.It work only if the reference/derived architecture is running in the module.DEWESoft FUT is able to update the firmware of the USB FX2 microcontroller and the FPGA configuration file (fpga.bin bitstream).
  • Open_FUT for generation 2:It requires DEWESoft device driver, Python and DEWESoft API.It works only if the reference/derived architecture is running in the module.Open_FUT is able to update the firmware of the USB FX2 microcontroller and the FPGA configuration file (bitstream fpga.bin).
  • CyConsole = Cypress USB Console:It requires Cypress generic USB device driver and CyAPI.lib static library.It works also if the reference/derived architecture is not running in the module.It is used as recovery USB firmware tool (recovery boot)It requires to boot with EEPROM switched off (DEWESoft device is registered as Cypress device), then back on (EEPROM can be written).Some documentation in UM-USB-Firmware.pdf.Some examples here (firmware restore only).
  • CyControl = Cypress USB Control Center (requires .NET Framework):It requires Cypress generic USB device driver, .Microsoft NET Framework (version ≥ 4.0.30319) and CyUSB.dll dynamic library.It works also if the reference/derived architecture is not running in the module.It is used as recovery USB firmware tool (recovery boot)It requires to boot with EEPROM switched off (DEWESoft device is registered as Cypress device), then back on (EEPROM can be written).Some examples here (firmware restore only).

Documentation

Generation 3

VID/PID:

  • 0x0BD0/0x0300

Firmware files:

Firmware update tools:

  • Open_FUT for generation 3:It requires TE USB FX2 device driver, Python and a pure extern C code library version of TE_USB_FX2_CyAPI APIs (codename: simplified TE_USB_FX2_CyAPI APIs).It works only if the reference/derived architecture is running in the module.Open_FUT is able to update the firmware of the USB FX2 microcontroller and the FPGA configuration file (bitstream fpga.bin).
  • CyConsole = Cypress USB Console:It requires Cypress generic USB device driver and CyAPI.lib static library.It works also if the reference/derived architecture is not running in the module.Boot with EEPROM switched off is not required.Some documentation in UM-USB-Firmware.pdf.Some examples here (firmware restore) and here (firmware update).
  • CyControl = Cypress USB Control Center (requires .NET Framework);It requires Cypress generic USB device driver, .Microsoft NET Framework (version ≥ 4.0.30319) and CyUSB.dll dynamic library.It works also if the reference/derived architecture is not running in the module.Boot with EEPROM switched off is not required.Some examples here (firmware restore) and here (firmware update).

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 documentation:

  • video play list: generation 2 to generation 3 migration (firmware + driver)

www.youtube.com

  • No labels