主题 : USB初始化疑问,求解答 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 81325
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
贡献值: 0 点
综合积分: 14 分
注册时间: 2012-11-07
最后登录: 2015-07-22
楼主  发表于: 2012-12-17 18:52

 USB初始化疑问,求解答

在drivers/usb/usblib.c中的ReconfigUsbd函数中,有以下代码:
    usbdevregs->INDEX_REG=2;
    usbdevregs->MAXP_REG=FIFO_SIZE_64;    //EP2:max packit size = 64
    usbdevregs->EP0_CSR_IN_CSR1_REG=EPI_FIFO_FLUSH|EPI_CDT|EPI_BULK;
    usbdevregs->IN_CSR2_REG=EPI_MODE_IN|EPI_IN_DMA_INT_MASK; //IN mode, IN_DMA_INT=masked    
    usbdevregs->OUT_CSR1_REG=EPO_CDT;      
    usbdevregs->OUT_CSR2_REG=EPO_BULK|EPO_OUT_DMA_INT_MASK;      

问题:usbdevregs->EP0_CSR_IN_CSR1_REG=EPI_FIFO_FLUSH|EPI_CDT|EPI_BULK;这里EP_BULK是不是应该在usbdevregs->IN_CSR2_REG中置位。查了下2440手册,EP0_CSR_IN_CSR1_REG中没有相应的位。
另外,2440的USB设备控制寄存器相应为的clear,是不是都是向寄存器相应的为写1来完成的?