阅读:1172回复:2
关于usb host的驱动?
做usb host的驱动和usb设备的驱动会有什么不同?
有什么难点么?请大家指点一二,谢谢! |
|
|
沙发#
发布于:2008-04-11 16:07
以下是我个人总结:
相同点: 域,包,事务,传输概念,描述符,USB标准请求命令 不同点: 1.在usb接口层上, host 控制器一般会集成root hub,device 肯定是不含有这个东西的。然后host控制器high speed一般兼容EHCI,full speed一般兼容OHCI。device则可以做的相对灵活。 2。在usb设备抽象层上,host 包含了device所有的东西,但增加了HOST 和hub两章,这个在usb2.0的白皮书上看出来。也就是说,像域,包,事务,传输这些概念都是一样的,只是host做了原来pc完成的事,成了事务的发起者。device还是做原来那些事。 3。在usb功能层上,以打印机为例。只有 usb device 的打印机只要实现printer这个设备类就可以了。但是如果是usb host的打印机,要实现把u 盘插在打印机上的功能的话,需要完成mass storage, hub ,printer(??)这些设备驱动程序。涉及到了mass storage就比较复杂,它本身又有CBI,BULK-ONLY传输协议。然后还要实现文件系统。 枚举需要设置地址,得到必要的描述符,READ OR WRITE |
|
驱动牛犊
![]() |
板凳#
发布于:2008-04-11 16:36
硬件不一样
参照 清华大学 马伟 编写的usb host一书 |