在WinCE 6.0系统下实现USB功能定制
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功能定制相关推荐
- WINCE6.0+S3C2443下的usb function(功能)驱动
********************************LoongEmbedded************************ 作者:LoongEmbedded(kandi) 时间:201 ...
- linux 无线网卡 免驱动,Linux系统下安装USB无线网卡驱动方法
Linux系统下安装USB无线网卡驱动方法 具体安装过程分了如下步骤进行:确认 usb-wifi 设施型号 , 根据确认结果选择驱动信息. 安装驱动 mt7601u , 假如已经自带跳过此步骤 配置驱 ...
- linux系统查看usb口,Linux运维知识之Linux系统下查看USB设备名及使用USB设备
本文主要向大家介绍了Linux运维知识之Linux系统下查看USB设备名及使用USB设备,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 1.系统插入USB设备后,从控制台界面有 ...
- 461在全志r16平台tinav3.0系统下使用地磁计QMC5883L
461在全志r16平台tinav3.0系统下使用地磁计QMC5883L 2018/9/7 14:08 版本:V1.0 开发板:SC3817R SDK:tina v3.0 (基本确认全志tina v3. ...
- linux判断usb进程命令,一种在Linux系统下审计USB设备历史使用情况的方法与流程...
本发明涉及计算机审计技术领域,具体涉及一种在Linux系统下审计USB设备历史使用情况的方法. 背景技术: 如今,在linux系统中,对于USB设备的插入拔出事件,系统自身是不带有审计功能的,这使得普 ...
- linux usb 批量传输文件,一种Linux系统下提升usb批量传输速度的方法及系统与流程...
本发明涉及通信传输技术领域,具体地说是一种linux系统下提升usb批量传输速度的方法及系统. 背景技术: linux系统访问usb设备有两种方式:编写内核驱动模块ko和在用户空间编写程序,通过内核提 ...
- 基于ubuntu系统下的USB设备绑定
目录 前言 基本原理 实现方法 前言 在Ubuntu系统的使用中,没有对USB进行设备进行绑定的话,每次插拔或者顺序的不同,都会造成ttyUSB端口号的改变,不利于实际应用,一劳永逸地方法就是对其进行 ...
- android9.0系统下,如何保活
android9.0系统下,讨论如何延长APP退到后台的保活/复活时间 一.7.0及以上不存在真正意义的保活. 二.盘点目前在9.0上,可能有效的"白色手段"保活手段(这里不讨论黑 ...
- android设置静态i,关于Android4.0系统下如何设置wlan静态ip的设置(转)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 估计有不少人都以为Android4.0系统下如何设置wlan静态ip地址吧,其实不是Android4.0的问题,只是设置上有点区别而已,下面重新教大家如何 ...
最新文章
- 详解计算机视觉中的特征点检测:Harris / SIFT / SURF / ORB
- 超越ResNet:南开提出Res2Net,不增计算负载,性能全面升级!
- node 之 ... 扩展运算符报错
- nagios二次开发(一)---开发思想
- Pytorch详解NLLLoss和CrossEntropyLoss、以及softmax和log_softmax
- 使用SAP Cloud for Customer Product OData服务读取产品主数据和其图片信息
- 经常需要在开发中使用Excel COM,为简化使用写了这个类,感觉还是不太方便
- linux下设置oracle开机自启动
- 自定义的html radio button的样式
- 阿德莱德大学招聘博士后研究员
- [bzoj] 2049 洞穴勘探 || LCT
- 为什么我的眼里常含泪水,因为Mysql让我变的深沉(2021最新版mysql安装)
- 深度解密换脸应用Deepfake
- fiddler+雷电模拟器进行APP抓包(可抓HTTPS)
- VS中使用ankhSVN
- [置顶] 施一公:优秀博士如何养成(全文) 清华大学演讲
- android手机赚钱软件排行
- python基础语法25_Python基础语法习题参考(0-9关)
- echarts图片的打印问题
- 即将举行的Live From Redmond免费网络广播讲座
热门文章
- spring cloud面试
- SSM框架的搭建(idea)
- python io流,Python io流会在列表理解中自动关闭吗?
- python 对象销毁_python对象销毁实例(垃圾回收)
- Layout动画:在android布局发生变化时添加动画效果
- 悬停渐变特效html,CSS3 transition属性实现hover渐变动画效果
- jupyter中中文显示不正常_jupyter 中文乱码设置编码格式 避免控制台输出的解决...
- idea swagger生成接口文档_spring boot集成Swagger-UI接口文档
- matlab画扇区,NFCDemo NFC读写测试 ,自动读取每个扇区 块的值 matlab 238万源代码下载- www.pudn.com...
- 蒸汽机器人布里茨天赋_LoL蒸汽机器人符文天赋_S10机器人辅助出装