Cypress CY 3663 Development Kit Zach Fister Sri
- Slides: 15
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 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 Example” by John Hyde Cypress Dev Kit
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
EZ-Host / EZ-OTG Diagram 6 Cypress Dev Kit
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 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 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 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 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 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) 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 in standalone mode Cypress Dev Kit
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