Explicit two-step recovery boot could be carried out with both Windows and Linux OSes, but in Windows is normally better to use Implicit Two-Step Recovery Boot.

If the user need further information it is possible to read  Recovery Boot.

In an explicit two-step recovery boot, the user should (the necessary device driver is assumed already installed):

  • isolate the FX2 microcontroller's external EEPROM disabling the EEPROM switch;
  • use a reset if the the running SW tool is not able to recognize the TE USB FX2 module as a supported device;
  • reconnect the FX2 microcontroller's EEPROM enabling the EEPROM switch;
  • (explicit step 1) load an intermediate good firmware supporting EEPROM programming (normally the bootloader Vend_Ax.hex ) into FX2 microcontroller's RAM using CyControl (Windows OS), fx2loader (Linux OS and Windows OS, see also here) or fxload (Linux OS, see also here) ;
  • (explicit step 2) load the desired good firmware into FX2 microcontroller's external EEPROM using CyControl, CyConsole, OpenFutNet (Windows OS, all 3 previous SW tools are using CyAPI.lib or CyUSB.dll), fx2loader (Linux OS and Windows OS, see also here) or fxload (Linux OS,see also here);
  • use a reset or write the desired good firmware into FX2 microcontroller's RAM using CyControl (Windows OS), fx2loader (Linux OS and Windows OS, see also here) or fxload (Linux OS,see also here).

A single command line recovery boot could be carried in Linux OS using fxload (with -c and -s "loader" option on the same command line, where loader is Vend_Ax.hex).

fxload and Linux distribution

fxload is already included in some Linux distributions.

Unfortunately, fxload of these distributions does not normally include a good second-stage boot loader for all vendor specific commands 0xAx and hence cannot directly be used to program EEPROM storage. However, such a bootloader is available separately if you dig around on the Cypress page; it is Vend_Ax.hex but it should be manually retrieved/downloaded. (Note: This "second stage bootloader" is sometimes called also "third stage").

In order to make life easier to users, this page provides a software package which contains the Cypress second stage bootloader called Vend_Ax.hex and the fxload source of 2008-10-13 (latest version at the time of writing). This version has also a patch which allows to "erase" the EEPROM again and which sets the default vendor and product IDs in the EEPROM when flashing.

  • No labels