FX3 Programmers Manual, Doc. # 001-64707 Rev. *C
43
FX3 Overview
3.9
Reset, Booting, and Renum
Resets in FX3 are classified into two - hard reset and soft reset.
A power on reset (POR) or a Reset# pin assertion initiates a hard reset. Soft Reset, on the other
hand, involves the setting the appropriate bits in the certain control registers.
Soft Resets are of two types - CPU Reset and Device Reset
CPU reset involves resetting the CPU Program Counter. Firmware does not need to be reloaded
following a CPU Reset. Whole Device Reset is identical to Hard Reset. The firmware must be
reloaded following a Whole Device Reset.
Figure 3-16. Reset
FX3's flexible firmware loading mechanism allows code to be loaded from a device connected on the
I
2
C bus (an EEPROM for example) or from a PC acting as a USB host or from an application
processor (AP) connected on the flexible GPIF.
A hard reset forces FX3 to execute its built in boot-loader code which first checks for the boot
information bits programmed in the eFuse. The boot information bits are meant primarily to indicate
the source of FX3's firmware (also known as boot mode). If this information is not available in the
eFuse, the state of the PMODE pins is scanned to determine the boot mode and enable the
appropriate interface block (GPIF, I
2
C, or USB).
For example, the code may reside in the EEPROM attached to FX3's I
2
C bus. In some cases, an
intelligent processor connected to the GPIF of FX3 may also be used to download the firmware for
FX3. The processor can write the firmware bytes using the Sync ADMux, Async ADMux, or the
Async SRAM protocol. In addition, the AP can also use the MMC initialization and write commands
(PMMC legacy) to download firmware over its interface with FX3.
Alternately, the user may simply wish to download the code from a PC using a USB cable. When
FX3 is configured for USB boot, the boot loader first enables FX3's USB block to accept vendor
commands over a bulk end point. When plugged into the host, the device enumerates with a
Cypress default VID and PID. The actual firmware is then downloaded using Cypress drivers. If
required, the firmware can then reconfigure the USB block (such as change the IDs and enable
more end points) and simulate a disconnect-event (soft disconnect) of the FX3 device from the USB
bus. On soft reconnect, FX3 enumerates with the new USB configuration. This two step patented
process is called renumeration.
WB Benicia
Boot
Loader
ROM
USB
Processor
AP
I2C
Legacy
PMMC
Or
Async
SRAM
Or
Async
ADMux
Or
Sync
ADMux
USB Host
(PC)
EEPROM
EFUSE
PM
O
D
E[
2:
0]
Summary of Contents for EX-USB FX3
Page 8: ...8 FX3 Programmers Manual Doc 001 64707 Rev C Contents...
Page 12: ...12 FX3 Programmers Manual Doc 001 64707 Rev C Introduction...
Page 48: ...48 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Overview...
Page 74: ...74 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Firmware...
Page 76: ...76 FX3 Programmers Manual Doc 001 64707 Rev C FX3 APIs...
Page 84: ...84 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Application Examples...
Page 98: ...98 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Application Structure...
Page 148: ...148 FX3 Programmers Manual Doc 001 64707 Rev C FX3 P Port Register Access...
Page 165: ...FX3 Programmers Manual Doc 001 64707 Rev C 165 FX3 Development Tools Click next...
Page 178: ...178 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Development Tools Click on Apply...
Page 180: ...180 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Development Tools d Start the GDB server...
Page 185: ...FX3 Programmers Manual Doc 001 64707 Rev C 185 FX3 Development Tools...
Page 186: ...186 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Development Tools...
Page 187: ...FX3 Programmers Manual Doc 001 64707 Rev C 187 FX3 Development Tools...
Page 188: ...188 FX3 Programmers Manual Doc 001 64707 Rev C FX3 Development Tools...
Page 192: ...192 FX3 Programmers Manual Doc 001 64707 Rev C GPIF II Designer...