在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来完成的?