EasyManua.ls Logo

Cypress EX-USB FX3 - User Manual

Cypress EX-USB FX3
192 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
Loading...
FX3 Programmers Manual
Doc. # 001-64707 Rev. *C
Cypress Semiconductor
198 Champion Court
San Jose, CA 95134-1709
Phone (USA): 800.858.1810
Phone (Intnl): 408.943.2600
http://www.cypress.com

Table of Contents

Question and Answer IconNeed help?

Do you have a question about the Cypress EX-USB FX3 and is the answer not in the manual?

Cypress EX-USB FX3 Specifications

General IconGeneral
Interface TypeUSB 3.0
Data Rate5 Gbps
Operating Temperature-40°C to +85°C
FIFO SupportYes
GPIOYes
I2CYes
SPIYes
UARTYes
Operating Voltage1.2V Core, 3.3V I/O
GPIO Pins32
Processor CoreARM926EJ-S
On-Chip RAM512 KB
I2C Interfaces2
SPI Interfaces1
UART Interfaces2
Supply Voltage1.2V, 3.3V
Package TypeBGA

Summary

1. Introduction

1.1 Chapter Overview

Provides a detailed overview of each component of the Programmer's Manual.

1.2 Document Revision History

Details the revisions made to the document over its lifecycle.

1.3 Documentation Conventions

Explains the conventions used in the document for clarity and consistency.

2. Introduction to USB

2.1 USB 2.0 System Basics

Covers the fundamental concepts and architecture of USB 2.0.

2.2 USB 3.0: Differences and Enhancements over USB 2.0

Highlights the advancements and new features introduced in USB 3.0.

2.3 Reference Documents

Lists documents referenced for the content of this chapter.

3. FX3 Overview

3.1 CPU

Details the ARM926EJ-S processor core powering the FX3 device.

3.2 Interconnect Fabric

Explains the AMBA AHB interconnect for peripheral communication.

3.3 Memory

Describes the 512 KB system SRAM and memory controller.

3.4 Interrupts

Details interrupt handling mechanisms using the ARM vectored interrupt controller.

3.5 JTAG Debugger Interface

Explains the hardware interface for debugging the ARM core.

3.6 Peripherals

Overview of the various serial and parallel interfaces on the FX3.

3.7 DMA Mechanism

Explains the Direct Memory Access engine and its operations.

3.8 Memory Map and Registers

Details the memory map and register locations for the FX3 device.

3.9 Reset, Booting, and Renum

Covers reset types, boot process, and device re-enumeration.

3.10 Clocking

Explains the clock generation and distribution mechanisms.

3.11 Power

Explains the various power modes and management features.

4. FX3 Software

4.1 System Overview

Provides a programmer's view of the FX3 device and its programmable blocks.

4.2 FX3 Software Development Kit (SDK)

Details the components of the FX3 Software Development Kit.

4.3 FX3 Firmware Stack

Explains the firmware framework and API library for application development.

4.4 FX3 Host Software

Describes the host-side software stack for FX3 development.

4.5 FX3 Development Tools

Lists the tools provided for firmware development and debugging.

5. FX3 Firmware

5.1 Initialization

Details the system initialization sequence for the FX3 device.

5.2 API Library

Provides a comprehensive library of APIs for FX3 hardware programming.

6. FX3 APIs

7. FX3 Application Examples

7.1 DMA examples

Illustrates DMA channel configurations with various bulk loopback examples.

7.2 Basic Examples

Provides basic USB examples for enumeration, endpoint configuration, and reset handling.

7.3 Serial Interface Examples

Demonstrates the use of serial interfaces like UART, SPI, I2C, I2S, and GPIO.

7.4 UVC examples

Shows USB Video Class device implementation.

7.5 Slave FIFO Examples

Demonstrates FX3 GPIF-II implementations for Slave FIFO.

7.6 Mass Storage Example

Implements a mass storage class device using FX3 system RAM.

7.7 USB Audio Class Example

Implements a USB Audio Class microphone example.

7.8 Two Stage Booter Example (boot_fw)

Demonstrates APIs for implementing two-stage booting.

8. FX3 Application Structure

8.1 Application code structure

Describes the structure of FX3 application code, divided into init and application code.

8.1.1 Initialization Code

Explains the initialization sequence of an FX3 application.

9. FX3 Serial Peripheral Register Access

9.1 Serial Peripheral (LPP) Registers

Lists and describes registers for I2S, I2C, UART, and SPI interfaces.

9.2 FX3 GPIO Register Interface

Covers registers for configuring and controlling GPIO pins.

9.3 Complex GPIO (PIN) Registers

Details registers for complex GPIO pin configuration and status.

10. FX3 P-Port Register Access

10.1 Glossary

Defines terms related to data transfer and P-port operations.

10.2 Externally Visible PP Registers

Lists key P-port registers for initialization and data transfer.

10.3 INTR and DRQ signaling

Describes INTR and DRQ signaling derived from PP_EVENT and PP_INTR_MASK.

10.4 Transferring Data into and out of Sockets

Explains how AP transfers data using PP Register protocol and sockets.

11. FX3 Boot Image Format

11.1 Firmware Image Storage Format

Details the required format for FX3 firmware images.

12. FX3 Development Tools

12.1 GNU Toolchain

Lists the components of the GNU toolchain provided with the FX3 SDK.

12.2 Eclipse IDE

Describes the Eclipse IDE setup for C/C++ development with FX3.

12.2.1 JTAG Probe

Identifies the preferred JTAG probe for FX3 SDK debugging.

12.2.2 Eclipse Projects

Explains how to import and build FX3 example projects in Eclipse.

12.2.2.1 Importing Eclipse Projects

Provides steps to import FX3 firmware example projects into Eclipse.

12.2.2.2 Building Projects

Details the steps to build imported projects within the Eclipse IDE.

12.2.2.3 Executing and Debugging

Explains how to execute and debug applications using GNU debugger and JTAG.

12.2.2.4 Creating New Eclipse Projects

Illustrates the process of creating new C/C++ projects in Eclipse.

13. FX3 Host Software

13.1 FX3 Host Software

Overview of the host-side software stack for FX3 development.

13.1.1 Cypress Generic Driver

Describes the generic driver for communicating with USB devices.

13.1.2 CYAPI Programmer’s reference

Details the C++ API library for USB device communication.

13.1.3 CYUSB.NET Programmer’s reference

Explains the .NET class library for high-level USB device access.

13.1.4 Cy Control Center

Describes the C# application for communicating with Cypress USB devices.

14. GPIF II Designer