我最近做一个usb设备驱动程序主要针对在linux系统下的u盘使用。。
我看了linux源代码下面的 usb-skeleton..发现usb设备驱动程序只是完成了设备打开。数据的传输和相关控制。。
但是如果这个usb设备是u盘呢。。我们调用write(..)写了一些数据,那么这些数据通过设备驱动程序写到u盘那里去了。。是不是u盘应该有个相应的地方(比如寄存器)可以接收这些数据。。。相反,如果我们read(..)数据。那么这些数据在设备驱动程序里面应该从哪里读呢。。
u盘不像扫描仪,键盘,可以交互。。可以从寄存器里面读书据。。。
这些只是目前我的想法。。也不知道是不是这样。。
希望,有经验的朋友能给点提示。。。
well , you said that is system driver , NOT HW driver , i think you want to know the FW(firmware) .
学习中,看了关于usb-mass storage的一些源码,感觉很复杂,已经和普通的设备驱动程序差很多了。。。
楼主加油,多调试调试
我花了2个星期调Bulk,先在调ISO模式,哎
关注...............................
二楼说的有道理,如果你只是做usb设备的驱动,懂得firmware层应该就可以了.当然如果研究usb整体架构,那就要看linux的usb底层的东西了.