USB的广泛应用就不用多说了,相信目前的各个领域的嵌入式产品中,很少有不用USB的。USB是主从结构的,分为USB Host和USB Slave,从USB1.0,USB1.1到现在的USB2.0,基于USB2.0还有USB OTG,也就是同时支持Host和Slave设备。目前最新的好像是USB3.0,刚开始普及吧。

在WinCE6.0中,对USB是有很好的支持。一般来说,如果USB的设备驱动做好了,USB的协议层以及上层的应用都是现成的,而且还有源码。也就是说,我们只需要在BSP中完成USB的驱动就可以了。先来看一下,如图:

USB Host

最底层就是USB Host控制器了,上层是USB Host Controller Driver,该驱动负责和硬件通讯来传输数据,在WinCE中支持UHCI,OHCI和EHCI。Host Core Driver & Hub Driver是独立于硬件的USB协议栈,支持USB Host协议及USB Hub功能。最上层就是USB Host Class driver是USB Host的应用协议,目前在WinCE中,支持RNDIS,Print,Mass Storage和HID四种应用。

USB Device

最底层是USB Device控制器,上层是USB Device Driver负责和硬件通讯。Device Core Driver是USB Device的协议栈。最上层是USB Device的应用层,目前在WinCE中支持RNDIS,Serial和Mass Storage三种应用。

USB OTG

USB OTG控制器上层是USB OTG控制器的驱动,USB OTG Core Driver是协议层,如果做Host,它会使用USB Host协议栈,如果做Device,它会使用USB Device协议栈。

在WinCE中,根据需要来选择所需的USB功能,创建WinCE工程,然后在Catalog Items View中选择”Core OS”->”CEBASE”->”Core OS Services”->”,如图:

◆USB Function Driver:用于支持USB Device驱动。

◆USB Host Support:用于支持USB Host控制器驱动。

◆USB Human Input Device (HID) Class Driver:用于支持USB Host外接HID设备,可选择同时支持USB鼠标键盘,也可以分开选择。

◆USB Printer Class Driver:用于支持USB Host打印功能。

◆USB Remote NDIS Class Driver:用于支持USB Host连接RNDIS设备。

◆USB Storage Class Driver:用于支持USB Host外接U盘的功能。

上面的选项除了USB Function Driver以外,都是用于支持USB Host应用的,可以根据自己平台的需要,选择相应的USB应用,也可以都选择。如果是USB Device设备,那么首先要选择上面提到的USB Function Driver,然后在Catalog Items View中选择”Device Drivers”->”USB Function”->” ,如图:

Mass Storage:用于支持USB Device作为U盘功能。

RNDIS Client:用于支持USB Device作为RNDIS设备。

Serial:用于支持USB Device作为串口设备。

对于USB Device设备,可以支持Mass Storage,RNDIS和Serial功能,不过同一个USB Device在系统启动以后只能支持某一个功能。

总结一下,无论是USB Host还是USB Device,只要驱动做好了,上层的应用在WinCE系统定制的时候,选择相应的组件就可以了。对于USB Device来说,根据组件的不同,还需要进行一些注册表的配置,我会在以后的blog中进行介绍。

在WinCE 6.0系统下实现USB功能定制相关推荐

  1. WINCE6.0+S3C2443下的usb function(功能)驱动

    ********************************LoongEmbedded************************ 作者:LoongEmbedded(kandi) 时间:201 ...

  2. linux 无线网卡 免驱动,Linux系统下安装USB无线网卡驱动方法

    Linux系统下安装USB无线网卡驱动方法 具体安装过程分了如下步骤进行:确认 usb-wifi 设施型号 , 根据确认结果选择驱动信息. 安装驱动 mt7601u , 假如已经自带跳过此步骤 配置驱 ...

  3. linux系统查看usb口,Linux运维知识之Linux系统下查看USB设备名及使用USB设备

    本文主要向大家介绍了Linux运维知识之Linux系统下查看USB设备名及使用USB设备,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 1.系统插入USB设备后,从控制台界面有 ...

  4. 461在全志r16平台tinav3.0系统下使用地磁计QMC5883L

    461在全志r16平台tinav3.0系统下使用地磁计QMC5883L 2018/9/7 14:08 版本:V1.0 开发板:SC3817R SDK:tina v3.0 (基本确认全志tina v3. ...

  5. linux判断usb进程命令,一种在Linux系统下审计USB设备历史使用情况的方法与流程...

    本发明涉及计算机审计技术领域,具体涉及一种在Linux系统下审计USB设备历史使用情况的方法. 背景技术: 如今,在linux系统中,对于USB设备的插入拔出事件,系统自身是不带有审计功能的,这使得普 ...

  6. linux usb 批量传输文件,一种Linux系统下提升usb批量传输速度的方法及系统与流程...

    本发明涉及通信传输技术领域,具体地说是一种linux系统下提升usb批量传输速度的方法及系统. 背景技术: linux系统访问usb设备有两种方式:编写内核驱动模块ko和在用户空间编写程序,通过内核提 ...

  7. 基于ubuntu系统下的USB设备绑定

    目录 前言 基本原理 实现方法 前言 在Ubuntu系统的使用中,没有对USB进行设备进行绑定的话,每次插拔或者顺序的不同,都会造成ttyUSB端口号的改变,不利于实际应用,一劳永逸地方法就是对其进行 ...

  8. android9.0系统下,如何保活

    android9.0系统下,讨论如何延长APP退到后台的保活/复活时间 一.7.0及以上不存在真正意义的保活. 二.盘点目前在9.0上,可能有效的"白色手段"保活手段(这里不讨论黑 ...

  9. android设置静态i,关于Android4.0系统下如何设置wlan静态ip的设置(转)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 估计有不少人都以为Android4.0系统下如何设置wlan静态ip地址吧,其实不是Android4.0的问题,只是设置上有点区别而已,下面重新教大家如何 ...

最新文章

  1. 详解计算机视觉中的特征点检测:Harris / SIFT / SURF / ORB
  2. 超越ResNet:南开提出Res2Net,不增计算负载,性能全面升级!
  3. node 之 ... 扩展运算符报错
  4. nagios二次开发(一)---开发思想
  5. Pytorch详解NLLLoss和CrossEntropyLoss、以及softmax和log_softmax
  6. 使用SAP Cloud for Customer Product OData服务读取产品主数据和其图片信息
  7. 经常需要在开发中使用Excel COM,为简化使用写了这个类,感觉还是不太方便
  8. linux下设置oracle开机自启动
  9. 自定义的html radio button的样式
  10. 阿德莱德大学招聘博士后研究员
  11. [bzoj] 2049 洞穴勘探 || LCT
  12. 为什么我的眼里常含泪水,因为Mysql让我变的深沉(2021最新版mysql安装)
  13. 深度解密换脸应用Deepfake
  14. fiddler+雷电模拟器进行APP抓包(可抓HTTPS)
  15. VS中使用ankhSVN
  16. [置顶] 施一公:优秀博士如何养成(全文) 清华大学演讲
  17. android手机赚钱软件排行
  18. python基础语法25_Python基础语法习题参考(0-9关)
  19. echarts图片的打印问题
  20. 即将举行的Live From Redmond免费网络广播讲座

热门文章

  1. spring cloud面试
  2. SSM框架的搭建(idea)
  3. python io流,Python io流会在列表理解中自动关闭吗?
  4. python 对象销毁_python对象销毁实例(垃圾回收)
  5. Layout动画:在android布局发生变化时添加动画效果
  6. 悬停渐变特效html,CSS3 transition属性实现hover渐变动画效果
  7. jupyter中中文显示不正常_jupyter 中文乱码设置编码格式 避免控制台输出的解决...
  8. idea swagger生成接口文档_spring boot集成Swagger-UI接口文档
  9. matlab画扇区,NFCDemo NFC读写测试 ,自动读取每个扇区 块的值 matlab 238万源代码下载- www.pudn.com...
  10. 蒸汽机器人布里茨天赋_LoL蒸汽机器人符文天赋_S10机器人辅助出装