...
Configurations that put firmware into external memory thus need a second stage loader. For typical "flat" memory architectures, a loader supporting the 0xA3 vendor request is used to write into that memory. Similarly, a second stage loader that supports the 0xA2 or 0xA9 vendor request is needed when writing boot firmware into an I2C EEPROM. These 0xA2, 0xA9 and 0xA3 vendor commands are conventions defined by Cypress.
(
...
Implicit Two-Step) recovery boot ≈ (
...
Explicit Two-Step) Recovery Noot
It is possible to write in EEPROM only using a 2nd stage loader firmware supporting EEPROM programming (aka intermediate good firmware) running in RAM; normally the bootloader Vend_Ax.hex is used.
- In the case of (IMPLICIT two step) recovery boot (at this time, only Windows) the 2nd stage (boot)loader firmware is loaded without the explicit intervention of the user.
- In the case of (EXPLICIT two step) recovery boot (mainly Linux) the 2nd stage (boot)loader firmware is loaded with the explicit intervention of the user.
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 in loadEEPROM() function used by CyConsole, CyControl and OpenFutNet.
(IMPLICIT two step
(Implicit Two-Step) Recovery Boot
Info |
---|
title | Second step (bootloader Vend_ax in RAM) is hidden |
---|
|
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 |
...
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. |
(Explicit Two-Step) Recovery Boot
(
...
Explicit Two
...
-Step) Recovery Boot
Info |
---|
Explicit two steps recovery boot could be carried out with both Windows and Linux OSes. |
...