...
Tip | ||
---|---|---|
| ||
Writing wrong (or corrupted) firmware to EEPROM will bring the USB FX2 microcontroller to stall. To bring it back out of a stall, the firmware recovery procedure differs upon the host operating system:
|
...
...
...
...
...
...
...
Both recovery boots use exactly the same procedure (under the hood, they are one and the same), but in Windows OS case the 2nd stage (boot)loader firmware step is hidden/implicit in loadEEPROM() function used by CyConsole, CyControl and OpenFutNet
...
Info | ||
---|---|---|
| ||
The 2nd stage loader firmware is loaded automatically without the explicit intervention of the user. At this time, it is only possible with Windows OS |
In an implicit two-step recovery boot (see here) the user should (the necessary device driver is assumed already installed)
give the command to load the desired good firmware into FX2 microcontroller's external EEPROM using CyControl, CyConsole, OpenFutNet (Windows OS, all SW tools using CyAPI.lib or CyUSB.dll) ;
Info |
---|
The CyConsole's "Lg EEPROM" button, CyControl's "64KB EEPROM" button and OpenFutNet's "Program USB: write IIC EEPROM" button call the loadEEPROM() function. This function is used to program 64-Kbyte EEPROMs. When the button (CyConsole's Lg EEPROM button, CyControl's EEPROM button or OpenFutNet's IIC button) is clicked, the user is prompted to select a (.iic) file to load into the EEPROM. This button first downloads the Vend_Ax(_Fx2).bix file, then sends the 0xA9 vendor request to program the EEPROM. |
The CyConsole/CyControl/OpenFutNet program will load
(hidden/implicit 1) an intermediate good firmware supporting EEPROM programming (normally the 2nd stage bootloader Vend_Ax.hex ) in RAM;
Note |
---|
The CyConsole's "S EEPROM" button is used to program 256-byte EEPROMs. When this button is clicked, the user is prompted to select a (.iic) file to load into the EEPROM. This button first downloads the Vend_Ax(_Fx2).bix file, then sends the 0xA2 vendor request to program the EEPROM. This button should not be used. |
Info |
---|
Explicit two-step recovery boot could be carried out with both Windows and Linux OSes. |
In an explicit two-step recovery boot, the user should (the necessary device driver is assumed already installed):
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).
...
title | 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").
...
.