什么驱动. PC侧的做过, 很简单.花几个月就会了.
协议是要看的. 主要是了解一些基本概念, 比如: 端点(endpoint), 描述符(descriptor), 接口(interface) ...
然后就是看参考程序. USB驱动是一种设备驱动, 这意味着驱动需要实现两部分功能:
1) 如何与应用程序通讯. 通常会实现一个或几个串口. 如果不实现串口, 那就需要自行控制设备检测.
2) 如何与设备通讯. 需要考虑各种传输模式: 控制传输(control transfer), 中断传输(interrupt transfer), 同步传输,(isochronous transfer) 批量传输(bulk transfer). 这些也是USB协议中的内容. 可见, 了解协议是很重要的.
参考程序网络上有现成的. 都比较好懂的.
|