EZ-HOST /EZ-OTG Peripheral Mode firmware flow Model
Question: In peripheral mode of EZ-HOST/EZ-OTG What is the relation between firmware frameworks(/common) and top-level firmware folders like Simple Examples(se1-se10) and Design Examples(de1-de10)?
Response: The EZ-HOST and EZ-OTG are Full speed Embedded Hosts. They have 2 SIE(Serial-Interface-Engines) -SIE1,SIE2.Each of the SIE can function as either Peripheral/Host mode. After installing the the CY3663 DVK software available from cypress Website the sample firmware examples included in the kit under C:\Cypress\USB\OTG- Host\Source\stand-alone
For Peripheral Mode functionality :In the list of simple Examples(se1-se10) the example se3 is relevant to peripheral mode.
Among Design Examples(de1-de4) the Dual Slave (de2) example is also relevant to peripheral mode.
All these examples rely on a single /common directory termed as frameworks.This directory contains low level C HAL (Hardware-Abstraction-Layer)functions to interact with most of the interfaces inside EZ-HOST/EZ-OTG like USB peripheral,Host ,OTG ,UART, CPLD,SSD,Push buttons,HPI,SPI and HSS..etc.
The C functions inside se3 or de2 invoke the low-level functions across several .C files in the /common directory to enumerate as a peripheral device.After downloading the peripheral mode binaries to either RAM or EEPROM connected to EZ-HOST/EZ-OTG the processor control shifts from the BIOS to start of the downloaded image.Once the processor starts execution of the downloaded firmware nitially it calls several low level C functions in the frameworks and then execution jumps to top-level API's in the se3/de2 folder.Attached PDF contains the systematic flow of function calls between functions inside Frameworks( /common)and top-level-firmware folders(se3,de2) once the execution starts from the main() function.