USB FX2 microcontroller's EEPROM firmware: FX2 microcontroller reads/writes IIC EEPROM

If the TE USB FX2 module exit from reset or is powered on, the IIC EEPROM content programs/configures the USB FX2 microcontroller RAM

The user can use CyConsole ("Lg EEPROM") and CyControl ("Program>FX2 64KB EEPROM") or Linux_FUT to directly program (write) the .iic Firmware file into the IIC EEPROM connected to USB FX2 microcontroller.

The user can also use OpenFutNet: if used for firmware recovery boot or firmware update both EEPROM and RAM are programmed (written).

The user can also use fx2loader (see also here) or fxload ( see also here) to directly program (write) the .iic Firmware file into the IIC EEPROM connected to USB FX2 microcontroller.

The firmware actually changes (it is retrieved from EEPROM to RAM and it runs on USB FX2 microcontroller's RAM) only when

  • the user resets the TE USB FX2 module (in fact a Powered reset);
  • the user powers off and power on the TE USB FX2 module (in fact a Power-on reset).

Note: the user could write in RAM (and in EEPROM if he/she desires a permanent firmware change) to change the firmware running in the microcontroller if, for some reason, he/she cannot currently carry out a reset.

USB FX2 microcontroller's RAM firmware: IIC bus is not used, only USB connection is used

It is an implicit (or explicit) step necessary to write a new firmware in the IIC EEPROM.

See the section "USB connection is unresponsive" for a description of similarity and difference of (Implicit Two-Step) recovery boot  and (Explicit Two-Step) recovery boot.

To write the IIC EEPROM, a FW should already run in RAM

To default, the FX2 microcontroller hardware (i.e with EEPROM isolated =>hardware's first stage loader) enumerates the USB FX2LP microcontroller chip as VID=0x04B4 (Cypress) and PID=0x8613 (FX2LP), and provides support for loading firmware into RAM.

To default, using the FX2 microcontroller hardware (i.e with EEPROM isolated => hardware's first stage loader ) it is possible to write a new firmware in RAM but not in EEPROM.

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).

The user  can use CyConsole ("Options"  > "EZ-USB Interface" > "Download" and a .hex or .bix file) or CyControl ("Program FX2 > RAM" and a .hex or .iic file) to directly program the firmware file (.hex, .bix or .iic file) into the USB FX2 microcontroller's RAM.

The user can also use OpenFutNet: if used for Firwmare Recovery Boot or Firmware Upgade both EEPROM and RAM are programmed.

The user can also use fx2loader (see also here) or fxload ( see also here) to directly program the firmware file into the USB FX2 microcontroller's RAM.

If you don't also write the IIC EEPROM ("Options"  > "EZ-USB Interface" > "Lg EEPROM" for CyConsole and "Program>FX2 64KB EEPROM" for CyControl), the new firmware is lost if the TE USB FX2 module goes under reset or power off/on cycle.
  • No labels