USB 固件开发流程
txt 标题:USB 固件开发流程2008-10-20 17:11:35 由于固件架构和固件的函数库的开发环境是Keil C51,所以针对本系统的开发也是基于这个开发环境
下图的项目窗口反映了对于本设计所需要的文件: 文件描叙如下: ( 1) FW
C-固件框架,处理USB 的请求和调用工作分配器中的函数
( 2) gpif
c-包含波形描述符表的文件,实现GPIF 传输的波形
( 3) gpif_fifo_rw
c-用户应用程序代码,修改TD-Poll()和TD-Init()以满足用户的要求
( 4) DSCR
A51-设备描述符表
报告在FX2 设备中使用哪些端点,如何配置等信息
本设计中设置EP0 作为控制传输端点,EP2 作为USB OUT 传输端点,EP6 作为USB IN 传输端点
( 5) USBjmpTb
OBJ-中断向量跳转表:USB 中断源INT2 和 GPIF/SLAVE FIFO 中断源INT4
( 6) Ezusb
lib-处理设备挂起(suspend),重新开始操作(resume), I2C 串口操作的函数集
初始化: 首先在对设备读写之前,对CY7C68013 的寄存器进行初始设置,这部分工作在TD_Init()函数中实现
位于gpif_fifo_rw
实现其设置的代码如下: void TD_Init( void ) { CPUCS = ((CPUCS & ~ bmCLKSPD) | bmCLKSPD1); // 配置芯片时钟方式 GpifInit( ); // 初始GPIF 波形 EP2CFG = 0xA0; // 配置端点2 out BULK 传输模式 512 字节 EP6CFG = 0xE0; // 配置端点6 in BULK 传输模式 512 字节 4 倍缓存区 EP4CFG = 0x00;