For new users (Generation 3 Firmware), the OpenFutNet tool is recommended.

If the user has a Python 2.7 interpreter installed on Windows OS, he/she could also use the couple Open_FUT (gen 3) + CyControl:

See also TE USB FX2 Software tools.

ToolFPGA
Configuration
capable?
Generation 2 Firmware
Upgrade capable?(1)
Generation 3 Firmware
Upgrade capable?(2)
It works without
Reference
Firmware?
Firmware
Recovery
capable?(3)

 Remarks

Xilinx iMPACT

(tick) direct or indirect
in system programming

.mcs file
(both Xilinx Flash and
third-party SPI Flash
can be used)

(error)(error)(tick)(error)

A Windows OS
and a Linux OS
version of this
tool exists.

DEWESoft
Firmware
Upgrade Tool

(tick)

old .fwu (and .bin) file

(tick)

old .fwu (and .bin) file

(error)

 

(error)

Generation 2

(error)

Obsolete,
not recommended.

Only Windows OS
(32 bit only)
version of this
tool exists.

 

Open_FUT
for generation 2

(tick)

FPGA
Configuration

.bit, .mcs file
( Xilinx Flash only) or
old .fwu (and .bin) file

(tick)

.iic file and
old .fwu (and .bin) file

(error)

(error)

Generation 2

(error)

Python 2.7
interpreter
required.

Only Windows OS
(32 bit only) version
of this tool exists.

 

Open_FUT
for generation 3

(tick)(5)

FPGA
configuration

.bit or a .mcs file
( Xilinx Flash only) or
old .fwu (and .bin) file

 

(error)

(tick)(5)

Firmware
update

.iic file and
old .fwu (and .bin) file

(error)

Generation 3

(error)

Python 2.7
interpreter
required.

Only Windows OS
version of this
tool exists.

CyConsole
= Cypress
USB Console


(error)(error)

(tick)

Firmware
update

.iic file

(tick)


(tick)

implicit
two steps
recovery boot

.iic file

Less easy than
CyControl.

Only Windows OS
version of this
tool exists.

CyControl
= Cypress
USB Control Center


(error)(error)

(tick)

Firmware
update

.iic file

(tick)

(tick)

implicit
two steps
recovery boot

.iic file

Microsoft .NET
Framework
Version ≥ 2.0
required.

Only Windows OS
version of this
tool exists.

OpenFutNet:
it is possible
to run 3 different procedures

(tick)

FPGA
configuration
(6)

.bit or .mcs file
(both Xilinx Flash and
third-party SPI Flash
can be used)

(error)

the explicit
two steps
recovery boot  (7)
should be used
instead

(tick)

Firmware
update
(6)

.iic file

(tick)for the
explicit
two steps 

recovery boot (7)

(error) for the
firmware update
(6)

(error) for the
FPGA configuration
(4)

(tick)

implicit
two steps 
recovery boot
 
(7)

.iic file

Microsoft .NET
Framework
Version≥ 4.0.30319
required.

Recommended tool.

Only Windows OS
version of this
tool exists.

Linux_FUT

(tick)

FPGA Configuration

.bin only

(tick)

.bin, but
a .iic should
also work

(tick)

.bin, but
a .iic should
also work

(error)

(error)

use fx2loader
(see also here)
for an
explicit
two step
recovery boot
instead

libusb library
(C API)
should be used

Only Linux OS
version of this
tool exists.

fx2loader (see also here)
(error)

(error)

use explicit two step
recovery boot instead

(error)

use explicit two step
recovery boot instead

 

(tick) (8)

 

(tick)

explicit two step
recovery boot

a wrapped
libusb
library
(C API)
should be used

A Windows OS
and a Linux OS
version of this
tool exists.

fxload ( see also here)(error)

 (error)

use explicit two step
 recovery boot instead

 (error)

use explicit two step
recovery boot instead

 (tick) (9)

 

 (tick)

explicit two step
recovery boot

libusb library
(C API)
should be used

Only Linux OS
version of this
tool exists.

Firmware/bitstream tools comparison chart

(1) Generation 2 Firmware Upgrade: it requires DEWESoft device driver (VID/PID:0x0547/0x1002) and DEWESoft API.

(2) Generation 3 Firmware Upgrade: it requires TE USB FX2 device driver (VID/PID:0x0BD0/0x0300) and TE API (C++ TE_USB_FX2_CyAPI.dll or .NET TE_USB_FX2_CyUSB.dll).

(3) 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. This is the procedure followed by implicit two step recovery boot (TE USB FX2 Firmware Recovery) (CyConsole and CyControl) and implicit two step recovery boot (OpenFutNet).

(4) The user can use implicit two step  recovery boot to program the USB FX2 microcontroller's  EEPROM with the Generation 3 firmware required by firmware update and FPGA configuration.

(5) Based on simplified TE_USB_FX2_CyAPI.dll

(6) Based on both CyUSB.dll and TE_USB_FX2_CyUSB.dll

(7) Based on CyUSB.dll

(8) To write a new firmware in FX2 microcontroller's RAM, fx2loader does not require a reference firmware but, to write a new firmware in FX2 microcontroller's EEPROM a firmware supporting EEPROM writing should already be runnning in FX2 microcontroller's RAM.

(9) To write a new firmware in FX2 microcontroller's RAM, fxload does not require a reference firmware but, to write a new firmware in FX2 microcontroller's EEPROM a firmware supporting EEPROM writing should already be running in FX2 microcontroller's RAM (Vend_Ax.hex is normally used).

Is Reference Firmware required?

The following firmware tools

work only if the reference firmware, or a derived compatible firmware, is running in the module. The reference/derived compatible firmware is necessary because the tools make use of TE API Commands 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 require 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, CyUSB.dll or libusb library.

These tools are only able to update the firmware of the USB FX2 microcontroller, but not the FPGA configuration file (bitstream).

  • No labels