EasyManua.ls Logo

Cypress EZ-USB FX3 SDK - User Manual

Cypress EZ-USB FX3 SDK
56 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
Loading...
Cypress EZ-USB® FX3™ SDK Quick Start Guide, Version 1.3.1 1
Cypress EZ-USB® FX3™ SDK
Quick Start Guide
Version 1.3.1
Cypress Semiconductor
198 Champion Court
San Jose, CA 95134-1709
Phone (USA): 800.858.1810
Phone (Intl): 408.943.2600
http://www.cypress.com
Question and Answer IconNeed help?

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

Cypress EZ-USB FX3 SDK Specifications

General IconGeneral
TypeUSB 3.0 Peripheral Controller
Processor CoreARM926EJ-S
Clock Speed200 MHz
On-Chip RAM512 KB
I2C Interfaces2
SPI Interfaces1
InterfaceUSB 3.0
Data Transfer Rate5 Gbps
Memory512 KB
DMA Channels8
UART Interfaces1
GPIF II Data Width8/16/32-bit configurable

Summary

FX3 SDK

Device Overview

High-level description of the Cypress EZ-USB FX3 peripheral controller and its capabilities.

FX3 SDK Overview

Details the components and structure of the FX3 Software Development Kit (SDK) for developing USB applications.

FX3 DVK Board Overview

Describes the FX3 Development Kit (DVK) board used for firmware and system development with the FX3 device.

SDK Installation

Components of the FX3 SDK

Lists the various components included in the FX3 SDK installation package for development.

Installed Directory Structure

Illustrates the file organization of the FX3 SDK installation, detailing firmware and USBSuite related files.

Working with the SDK

Programming the FX3 device

Outlines the setup and boot process for programming and running FX3 firmware examples on the DVK.

Building the firmware

Explains how to build firmware examples using the Eclipse IDE and GNU tool-chain.

Setting up the FX3 DVK Board

Details how to configure the FX3 device's boot mode using PMODE pins on the DVK board.

Host driver binding

Describes the process of installing and binding host drivers for different Windows platforms.

Firmware Download

Explains how to download firmware images to the FX3 device using the CyControl Center utility.

Testing the application

Guides on testing the application after firmware download, including driver selection and data loop-back verification.

Firmware Example Overview

USB Bulk data loopback examples

Illustrates loopback mechanisms using USB Bulk Endpoints with DMA channels.

USB Isochronous data loopback examples

Demonstrates loopback mechanisms using USB Isochronous Endpoints with DMA channels.

USB debug example

Shows how to use USB interrupt endpoints for logging debug data from the FX3 device.

FX3 S Storage Examples

Details implementation of USB mass storage class devices using FX3S APIs with SD/eMMC.

USB Video Class example

Explains implementing USB Video Class drivers for streaming video from image sensors.

Slave FIFO Application examples

Demonstrates data loopback between USB Host and PCI host using Slave FIFO protocol.

Serial Interface examples

Covers data access examples for serial interfaces like UART, I2C, and SPI.

USB Bulk;Isochronous data source sink examples

Illustrates data source and sink mechanisms using USB Bulk/Isochronous Endpoints.

USB Bulk Streams example

Demonstrates data source and sink using USB Bulk Endpoints with Bulk Streams.

USB enumeration example

Implements a USB bulk loop with normal mode enumeration in FX3.

Flash Programmer example

Illustrates programming I2C EEPROMS and SPI flash devices from USB.

Mass Storage Class example

Shows the implementation of a USB mass storage class device using FX3 RAM.

USB Audio Class Example

Creates a USB Audio Class compliant microphone device streaming PCM audio.

Two Stage Booter Example

Demonstrates implementing two-stage booting using provided APIs.

USB host and OTG examples

Demonstrates host mode and OTG mode operation of the FX3 USB port.

CX3 Examples

Demonstrates USB video streaming modes using the CX3 device and MIPI CSI-2.

FX3 Programming Guidelines

Device Initialization

Provides basic guidelines for initializing the FX3 device, focusing on clock and IO setup.

Embedded Operating System

Discusses the ThreadX operating system integrated into FX3 firmware libraries for managing tasks and threads.

Memory Usage

Details the memory regions required for FX3 firmware applications, including code, data, and heap.

USB Device Handling

Explains how FX3 firmware handles USB device enumeration, control requests, and endpoint configuration.

Support for different FX3 parts

Lists the FX3 product family members and their supported features like USB, GPIF, and memory.

Porting Applications from SDK 1.2 to SDK 1.2.1

Outlines necessary changes when migrating applications from SDK 1.2 to SDK 1.2.1.

Porting Applications from SDK 1.2.1 to SDK 1.2.2

Highlights changes and considerations for migrating applications from SDK 1.2.1 to SDK 1.2.2.

Porting Applications from SDK 1.2.2 to SDK 1.2.3

Details changes required for porting applications from SDK 1.2.2 to SDK 1.2.3, focusing on API return types.

Porting Applications from SDK 1.2.3 to SDK 1.3

Explains modifications needed for FX3S part support and API changes when porting to SDK 1.3.

Porting Applications from SDK 1.3 to SDK 1.3.1

Notes minor changes in FX3S control structures for porting from SDK 1.3 to SDK 1.3.1.

FX3 Application Example

Creating the Project

Guides on creating a new FX3 firmware project by importing an existing example into the Eclipse IDE.

Application Description

Outlines the functionality and components of the GpifToUsb example project.

CX3 MIPI CSI-2 Interface

Introduction to the CX3 device

Introduces the CX3 device and its MIPI CSI-2 receiver for image sensor connectivity.

CX3 MIPI CSI-2 interface

Details the MIPI CSI-2 interface capabilities, data lanes, and supported stream formats on the CX3 device.

Configuring the CX3 MIPI CSI-2 Interface

Explains how to configure the CX3 MIPI CSI-2 interface using the graphical configuration tool and API.

Fixed function GPIF-2 interface on the CX3

Describes the fixed-function GPIF-II state machine on the CX3 for parallel data transfer.