EZ-HOST /EZ-OTG  Host  Mode firmware  flow Model

Question: In Host mode of EZ-HOST/EZ-OTG, What is the relation between firmware frameworks(/common) and top-level firmware folders like Simple Examples(se1-se10)/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. In the list of simple Examples(se1-se10)  the firmware example  se6  and  among Design Examples(de1-de4)  the Dual Host (de4) example demonstrate host mode functionality.

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 se6 or de4  invoke  the low-level functions across several .C  files in the /common directory to enumerate as a peripheral device. After  downloading the Host 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 se6/de4 folder.Attached PDF contains the systematic flow  of function calls between functions inside Frameworks( /common)and top-level-firmware  folders(se6,de4) once the execution starts from the main() function.