Cypress CY 3663 Development Kit Zach Fister Sri

  • Slides: 15
Download presentation
Cypress CY 3663 Development Kit Zach Fister Sri Harsha Yenuganti April, 2008 1 Cypress

Cypress CY 3663 Development Kit Zach Fister Sri Harsha Yenuganti April, 2008 1 Cypress Dev Kit

CY 3663 Dev Kit Contents Single Board Computer (SBC) with Strong. ARM processor for

CY 3663 Dev Kit Contents Single Board Computer (SBC) with Strong. ARM processor for coprocessor operation ¢ CY 7 C 67300 ¢ l ¢ CY 7 C 67200 l 2 EZ-Host Development Board EZ-OTG Development Board Cypress Dev Kit

Strong. Arm Board 1 3 1. All figures from “USB Multi-Role Device Design by

Strong. Arm Board 1 3 1. All figures from “USB Multi-Role Device Design by Example” by John Hyde Cypress Dev Kit

Coprocessor Operation Handles all of the low-level USB communications on behalf of the external

Coprocessor Operation Handles all of the low-level USB communications on behalf of the external processor. Parallel I/O : Link Control Protocol ( LCP ) Serial I/O : High Speed Serial ( HSS ), I 2 C, SPI 4 Cypress Dev Kit

Standalone boards 5 Cypress Dev Kit

Standalone boards 5 Cypress Dev Kit

EZ-Host / EZ-OTG Diagram 6 Cypress Dev Kit

EZ-Host / EZ-OTG Diagram 6 Cypress Dev Kit

Firmware Architecture The BIOS sets up an event-driven environment with chained idle tasks. 7

Firmware Architecture The BIOS sets up an event-driven environment with chained idle tasks. 7 Cypress Dev Kit

FW Architecture ¢ Event driven l ¢ 8 Button push, packet-type, etc. Application specific

FW Architecture ¢ Event driven l ¢ 8 Button push, packet-type, etc. Application specific callback tasks can be fairly easily inserted into code Cypress Dev Kit

Firmware Features ¢ ¢ 9 EZ-Host and EZ-OTG components are software compatible and use

Firmware Features ¢ ¢ 9 EZ-Host and EZ-OTG components are software compatible and use the same BIOS. The BIOS is organized as a set of subroutines that are accessed via an interrupt vector table in low memory. The BIOS is designed to be override able in whole or in parts. There are several unassigned vectors where you can additional capability and you can change existing vectors to change how BIOS operates. Cypress Dev Kit

Application Development All firmware that we develop for the EZ-Host/EZ-OTG will follow this format

Application Development All firmware that we develop for the EZ-Host/EZ-OTG will follow this format of Init_Task, Idle_Task and Callbacks. ¢ The Init_Task is responsible for setting up the Idle_Task and any Call. Back_Tasks. ¢ All of the Idle_Tasks are dynamically linked together. When not serving interrupts, the Idle_Task of each software subsystem runs and looks for work to do. Each subsystem calls the next using the chaining mechanism. ¢ Call. Back_Tasks are procedures that are run as a result of some event occurring. This event could be a hardware interrupt, a software interrupt. 10 Cypress Dev Kit

Application Development ¢ ¢ ¢ 11 INT 70 Start of Idle Chain INT 71

Application Development ¢ ¢ ¢ 11 INT 70 Start of Idle Chain INT 71 BIOS’s Idle Task INT 72 Insert task into Idle Chain Cypress Dev Kit

Examples ¢ 1) Hello World l ¢ Example code run via remote debugger on

Examples ¢ 1) Hello World l ¢ Example code run via remote debugger on EZ-Host Dev. Board 2) Scan Records Change BIOS operation on power-up to change default port configuration l Program EEPROM via I 2 C l 12 Cypress Dev Kit

Examples ¢ 3) and 4) Buttons and Lights Device l l l ¢ 5)

Examples ¢ 3) and 4) Buttons and Lights Device l l l ¢ 5) Standalone Device l l 13 Simple Human Interface Device Debugger run program Host program or board button pushes update both displays Scanwrap utility creates scan record from binary file Programmed into EEPROM to run standalone Cypress Dev Kit

Examples ¢ 6) Standalone Host and Device l 14 Both EZ-Host and EZ-OTG communicating

Examples ¢ 6) Standalone Host and Device l 14 Both EZ-Host and EZ-OTG communicating in standalone mode Cypress Dev Kit

Things to Try Next l l l Understand the program execution flow. Modify code

Things to Try Next l l l Understand the program execution flow. Modify code in “Hello World” example to initiate different action on button presses HW Analyzer to view differences in transfers on different endpoints between host/device • Need updated driver on lab PCs? l 15 Analyze remote camera capture USB traffic for a simple transfer and attempt to emulate with modification of existing examples Cypress Dev Kit