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

Compare with Current View Page History

« Previous Version 24 Next »

Introduction

Linux_FUT is a C application for the GNU/Linux operating system based on Trenz Electronic API commands and libusb C API to program USB FX2 microcontroller firmware and FPGA bitstreams.

libusb and libusbx merged

libusb and libusbx release will be officially merged from v1.0.19. These two project/libraries are already actually ("unofficially") merged.

Linux_FUT can be downloaded from our GiiHub repository.

Generation 2 or Generation 3 support; it depends on a #define

Device Ids of the usb (lsusb): a C construct (#define) is used to choose between Generation 2 (DEWESoft device) and Generation 3 (Trenz Elecronic device).

 

Linux_FUT.c

// TE USB FX2: generation 2.0
// #define VENDOR_ID 0x0547
// #define PRODUCT_ID 0x1002

// TE USB FX2: generation 3.0
#define VENDOR_ID 0x0BD0
#define PRODUCT_ID 0x0300

Firmware Upgrade/Change and/or FPGA Configuration

Linux_FUT can be used (with Generation 2 and/or Generation 3 firmware) for:

Necessary files

Firmware Recovery

Linux_FUT cannot be used for recovery boot (Windows only) or modified recovery boot (in both case the USB FX2 microcontroller is running with Cypress VID/PID) in case writing wrong (or corrupted) firmware to EEPROM will hinder/prevent USB conncection with TE USB FX2 module.

Writing wrong (or corrupted) firmware to EEPROM will bring the USB FX2 microcontroller to a standstill. To bring it back out of a standstill, the firmware recovery procedure differs upon the host operating system:

  • use a recovery boot (Windows);
  • use a modified recovery boot (Linux).

Under Windows, the user should instead use CyControl, CyConsole or OpenFutNet for a recovery boot.  After this procedure, the user could use again Linux_FUT.

Under Linux, the user should instead use fx2loader (see also here) for a modified recovery boot. After this procedure, the user could use again Linux_FUT.

If the user is unsure about the suitability of a new firmware (wherever it is the source), it's a good idea to load it into RAM first to make sure it is not totally broken.


  • No labels