tyt5555
驱动小牛
驱动小牛
  • 注册日期2006-03-15
  • 最后登录2009-03-02
  • 粉丝0
  • 关注0
  • 积分1004分
  • 威望172点
  • 贡献值0点
  • 好评度131点
  • 原创分0分
  • 专家分0分
40楼#
发布于:2007-01-11 15:59
呵呵! 谢谢
500jun
驱动牛犊
驱动牛犊
  • 注册日期2006-05-17
  • 最后登录2008-10-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望34点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
41楼#
发布于:2007-01-14 17:15
usb host主要包括3层:
1)client驱动层(对应MS 驱动,鼠标驱动,或者键盘驱动等等);
2)usbd层主要暴露底层host控制器驱动的接口,这样驱动层可以调用这些接口来进行数据传输;同时当有usb设备插入host时,由此层来负责加载对应的上层client驱动(如鼠标驱动等);
3)host控制器驱动主要有OHCI,UHCI,EHCI等驱动(即负责host控制器相关寄存器操作等)主要按相关规范(OHCI,UHCI,EHCI)负责组织,传送和接收由client驱动层的数据.因此,如果你需要编写host控制器驱动,就仅仅只需要修改第3层;但是,如果你的系统需要支持usb打印机,而你的client层没有该驱动,那么就需要编写打印机的client端驱动,该驱动位于第一层.一般来说,第2层是不需要也没必要修改.
shuailicn
驱动牛犊
驱动牛犊
  • 注册日期2006-10-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分110分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
42楼#
发布于:2007-01-19 13:34
500jun老兄,你好,看到你的帖子,感觉对usb的开发明白了不少,但是还有很多疑惑,
说出来请老兄多指点下!
我要做一个PDA,PXA270+windows CE,要使此PDA同时具有UBS Host和USB device功能,也就是说我这个PDA通过usb线与PC机相连时应该能被PC机识别并能从PC上读PDA上的数据,另外我这个PDA还要具有USB Host口,来识别插在它host 口上的设备(鼠标等).首先我不清楚的是,当我的PDA作为device来用时其驱动的开发应该是属于你说的client驱动层吧,这一层是运行在PC机上还是运行在PDA上的呢?还有,你说开发USB Host时只要动第三层,即只要写好host 控制器的驱动就可以了,是这么理解的吗?当我想从我的PDA上通过USB host口来接一个外设时,所接的外设(如USB鼠标等)需要有驱动的,这个驱动应该是运行在我PDA上的吧?我的QQ:99129637,希望能多指导下啊
500jun
驱动牛犊
驱动牛犊
  • 注册日期2006-05-17
  • 最后登录2008-10-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望34点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
43楼#
发布于:2007-01-22 14:37
借鉴一下ms的图:
  USB HOST                                                 USB device
+--------------+
  | USB Client   |
  |   Driver     |
  +--------------+
        /|\
         |       USBDI Interface
        \|/
  +--------------+
  |  USBD        |
  |  Driver      |
  +--------------+
        /|\
         |       HCD Interface
        \|/
  +--------------+
  |  HCD (OHCD or|
  |  UHCD) driver|
  +--------------+
        /|\
         |       HC Interface
        \|/
  +--------------------+                   +----------------------------+
  | Host controller HW |                     | USB Device (function)  |
  +--------------------+                   +----------------------------+
        /|\                                                   /|\
         |                                                      |
         +------------------------------------------+
通常我们所说的usb host,是指我们手中的设备可以接外设, 而usb device在ce中叫usb function.
具体说到你的pda.当pda作为device的时候,pc作为host,pda作为funciton,因此上图右边的部分在pda上,左边部分在pc上;反之,当pda作为host的时候,左边的程序在pda上,右边的程序在外设上!
因此楼上所说的client只是host协议栈中的一部分,跟设备扮演function功能毫无关系.而设备作为funciton设备所扮演的功能(u盘,serial或者rndis)有funtion自己的上层决定.也就是说,host的上层跟funtion上层是不同的上层
shuailicn
驱动牛犊
驱动牛犊
  • 注册日期2006-10-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分110分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
44楼#
发布于:2007-02-01 17:25
谢谢楼上,还想请教个问题:USB Host Controller的驱动是分层的,MDD和PDD层,帮助文档里说MDD层是通过ddsi来调用PDD层的,现在对两层之间的调用及协调工作情况很模糊,具体是怎么个调用方法呢,请多指点!多谢
99970782
驱动牛犊
驱动牛犊
  • 注册日期2006-11-16
  • 最后登录2009-11-17
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望14点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
45楼#
发布于:2007-02-07 19:48
问PDA上的驱动开发与PC上的驱动开发有什么区别?
yutree
驱动牛犊
驱动牛犊
  • 注册日期2003-09-09
  • 最后登录2008-05-02
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
46楼#
发布于:2007-03-01 16:28
thanks!
wjt810907
驱动中牛
驱动中牛
  • 注册日期2004-08-18
  • 最后登录2011-04-16
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望409点
  • 贡献值1点
  • 好评度402点
  • 原创分2分
  • 专家分0分
47楼#
发布于:2007-03-01 17:14
支持
mcu_boy
上一页 下一页
游客

返回顶部