50 FX3 Programmers Manual, Doc. # 001-64707 Rev. *C
FX3 Software
The two other important entities that are external to the FX3 are
■ USB host/device
❐ When the FX3 is connected to a USB host, it functions as a USB device. The FX3 enumerates
as a super-speed, high-speed, or full-speed USB peripheral corresponding to the host type.
❐ When a USB device is connected, the FX3 plays the role of the corresponding high-speed,
full-speed or low-speed USB host.
■ GPIF II master/slave: GPIF II is a fully configurable interface and can realize any application
specific protocol as described in GPIF™ II Designer on page 191. Any processor, ASIC, DSP, or
FPGA can be interfaced to the FX3. FX3 bootloader or firmware configures GPIF II to support the
corresponding interface.
4.2 FX3 Software Development Kit (SDK)
The FX3 comes with a complete software development solution as illustrated in the following figure.
Figure 4-2. FX3 SDK Components
4.3 FX3 Firmware Stack
Powerful and flexible applications can be rapidly built using FX3 firmware framework and FX3 API
libraries.
4.3.1 Firmware Framework
The firmware (or application) framework has all the startup and initialization code. It also contains
the individual drivers for the USB, GPIF, and serial interface blocks. The framework
■ Defines the program entry point
■ Performs the stack setup
■ Performs kernel initialization
■ Provides placeholders for application thread startup code
4.3.2 Firmware API Library
The FX3 API library provides a comprehensive set of APIs to control and communicate with the FX3
hardware. These APIs provide complete a complete programmatic view of the FX3 hardware.
FX3 Development Tools
Integrated C/C++
Development Environment
Debugger
JTAG
Compiler
Assembler
Linker
GPIF II Designer
FX3 Firmware Stack
FX3 Firmware Examples
Customer Firmware
FX3 Firmware Framework
FX3 API Library
RTOS
FX3 Host Software
(Windows PC)
Cypress Generic
USB Driver
C++/C# APIs
Cy Control Center/
Bulkloop/ Streamer
Windows USB DI
Customer Software
Cypress provided Software
Third Party Software