社区
嵌入开发(WinCE)
帖子详情
USB 驱动流程
dengchonglin
2010-02-03 04:32:14
各位大哥:
请问一下,USB 驱动是怎么样监测 USB 上的数据,是怎么样和系统通讯?
...全文
200
18
打赏
收藏
USB 驱动流程
各位大哥: 请问一下,USB 驱动是怎么样监测 USB 上的数据,是怎么样和系统通讯?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
blaneqiu
2012-05-05
打赏
举报
回复
在用户程序中通过deviceiocontrlo()函数中的驱动控制码来与USB设备通信
shanshan811310
2011-09-29
打赏
举报
回复
我也在弄USB驱动,看了上面大侠的介绍先看看USB规范
thunder__god
2011-06-24
打赏
举报
回复
usb协议,也就是第九章 细看,其他过一遍就可以了
弄清楚,插入检测、枚举的细节
枚举完成后,就容易了
lanxinwen2010
2011-04-18
打赏
举报
回复
枚举接口和USB驱动没关系吧
应该 是usb总线在做吧
他上面有两个链表
一个是devices一个drivers
然后根据不同情况match
dengchonglin
2010-02-06
打赏
举报
回复
[Quote=引用 12 楼 veabol 的回复:]
你改了PUBLIC下的代码?如果是这样的话build后还要sysgen current project一下再make
直接执行build and sysgen current project,再make吧
[/Quote]
非常感谢,确实是这样~!
博说医械研发
2010-02-05
打赏
举报
回复
你改了PUBLIC下的代码?如果是这样的话build后还要sysgen current project一下再make
直接执行build and sysgen current project,再make吧
dengchonglin
2010-02-05
打赏
举报
回复
好的,我查查 OHCI,EHCI,UHCI
另外,为什么我在
extern "C"
DWORD
UFN_Init(
LPCTSTR pszContext
)
加入 RETAILMSG(1, (_T("++++UFN_Init\r\n")));
没有调试信息出来呢??
lllchr88
2010-02-04
打赏
举报
回复
好象协议有点复杂.没研究
lt1995
2010-02-04
打赏
举报
回复
可以重点看看协议里的关键部分,例如几种命令,描述符
skynet000
2010-02-04
打赏
举报
回复
协议看起来的确很复杂,看了好久没看完!看不下去了。
domworldjohn
2010-02-04
打赏
举报
回复
wince中,USB驱动分成上层USB设备驱动和底层的USB驱动。对于底层的USB驱动,又可以分为上层的USB总线驱动和最底层的USB控制器驱动。USB总线驱动主要负责USB外围设备的枚举与加载相应的驱动。
hallowwar
2010-02-04
打赏
举报
回复
[Quote=引用 3 楼 wolfmvp 的回复:]
引用 1 楼 veabol 的回复:
看一下USB的协议规范,找一些USB的底层代码。
说的很简练,马上就精辟了,哈哈…
[/Quote]
我也觉得USB很神奇的,两根线可以那么告诉的传输,牛的很。
wolfmvp
2010-02-04
打赏
举报
回复
[Quote=引用 1 楼 veabol 的回复:]
看一下USB的协议规范,找一些USB的底层代码。
[/Quote]说的很简练,马上就精辟了,哈哈…
toborac
2010-02-04
打赏
举报
回复
很复杂 基本上你所问的检测线上数据属于最低下物理层了 咱们一般不用关心
USB通信有很多术语 USB标准里面就有很多 基本上总线在时间上是划分成一节一节的,谁要用以及要用多少带宽以及怎么用都得去申请 很多事情都被总线控制器的驱动管了
可搜索查看有关USB以及OHCI,EHCI,UHCI等资料
skyler2008
2010-02-04
打赏
举报
回复
帮你顶!
luocan1986
2010-02-03
打赏
举报
回复
[Quote=引用 1 楼 veabol 的回复:]
看一下USB的协议规范,找一些USB的底层代码。
[/Quote]
貌似很复杂哦。
博说医械研发
2010-02-03
打赏
举报
回复
看一下USB的协议规范,找一些USB的底层代码。
深入分析Linux内核源码.chm
第一章 走进linux 1.1 GNU与Linux的成长 1.2 Linux的开发模式和运作机制 1.3走进Linux内核 1.4 分析Linux内核的意义 1.5 Linux内核结构 1.6 Linux内核源代码 1.7 Linux内核源代码分析工具 第二章 Linux运行的硬件基础 2.1 i386的寄存器 2.2 内存地址 2.3 段机制和描述符 2.4 分页机制 2.5 Linux中的分页机制 2.6 Linux中的汇编语言 第三章中断机制 3.1 中断基本知识 3.2中断描述符表的初始化 3.3异常处理 3.4 中断处理 3.5中断的后半部分处理机制 第四章 进程描述 4.1 进程和程序(Process and Program) 4.2 Linux中的进程概述 4.3 task_struct结构描述 4.4 task_struct结构在内存中的存放 4.5 进程组织的方式 4.6 内核线程 4.7 进程的权能 4.8 内核同步 第五章进程调度 5.1 Linux时间系统 5.2 时钟中断 5.3 Linux的调度程序-Schedule( ) 5.4 进程切换 第六章 Linux内存管理 6.1 Linux的内存管理概述 6.2 Linux内存管理的初始化 6.3 内存的分配和回收 6.4 地址映射机制 6.5 请页机制 6.6 交换机制 6.7 缓存和刷新机制 6.8 进程的创建和执行 第七章 进程间通信 7.1 管道 7.2 信号(signal) 7.3 System V 的IPC机制 第八章 虚拟文件系统 8.1 概述 8.2 VFS中的数据结构 8.3 高速缓存 8.4 文件系统的注册、安装与拆卸 8.5 限额机制 8.6 具体文件系统举例 8.7 文件系统的系统调用 8 .8 Linux2.4文件系统的移植问题 第九章 Ext2文件系统 9.1 基本概念 9.2 Ext2的磁盘布局和数据结构 9.3 文件的访问权限和安全 9.4 链接文件 9.5 分配策略 第十章 模块机制 10.1 概述 10.2 实现机制 10.3 模块的装入和卸载 10.4 内核版本 10.5 编写内核模块 第十一章 设备
驱动
程序 11.1 概述 11.2 设备
驱动
基础 11.3 块设备
驱动
程序 11.4 字符设备
驱动
程序 第十二章 网络 12.1 概述 12.2 网络协议 12.3 套接字(socket) 12.4 套接字缓冲区(sk_buff) 12.5 网络设备接口 第十三章 启动系统 13.1 初始化
流程
13.2 初始化的任务 13.3 Linux 的Boot Loarder 13.4 进入操作系统 13.5 main.c中的初始化 13.6 建立init进程 附录: 1 Linux 2.4内核API 2.1
驱动
程序的基本函数 2.2 双向循环链表的操作 2.3 基本C库函数 2.4 Linux内存管理中Slab缓冲区 2.5 Linux中的VFS 2.6 Linux的连网 2.7 网络设备支持 2.8 模块支持 2.9 硬件接口 2.10 块设备 2.11
USB
设备
USB
驱动
开发
流程
usb
设备
驱动
开发
USB
从设备
驱动
实现
流程
背景 很多公司在使用
USB
的时候有如下的设计理念,想要把设备的信息通过
USB
接口与PC连接,PC端开发一个客户程序 用于设备的配置,如下 希望设备的初始配置可以在PC端实现,需要设备底层开发一套
驱动
用于支持PC端的识别 涉及的开发
流程
有2处。 1.设备的devices
驱动
2.pc的host
驱动
本文主要介绍设备端的
驱动
USB
的基础介绍 一个从设备的识别需要以下关键信息 设备描述符、配置描述符、接口描述符、端点描述符、 . 我们需要在设备
驱动
中注册以上结构和
USB
读写功能函数即可,那么这4种结构如何注
Linux
USB
驱动
工作
流程
1.
USB
主机 在Linux
驱动
中,
USB
驱动
处于最底层的是
USB
主机控制器硬件,在其之上运行的是
USB
主机控制器
驱动
,主机控制器之上为
USB
核心层,再上层为
USB
设备
驱动
层(插入主机上的U盘、鼠标、
USB
转串口等设备
驱动
)。 因此,在主机侧的层次结构中,要实现的
USB
驱动
包括两类:
USB
主机控制器
驱动
和
USB
设备
驱动
,前者控制插入其中的
USB
设备,后者控制
USB
设备如何与主机通信。Li
USB
设备创建过程与
驱动
学习笔记
讲述
usb
设备插入到设备创建过程的源码分析,以及以中断传输方式的鼠标
驱动
为例,讲述
USB
驱动
实现
流程
。 文章目录
USB
设备创建过程
USB
驱动
编写(中断传输方式)
USB
设备创建过程 当外部插入
USB
设备后,系统都做了哪些工作?总的来说就是:插入
USB
设备后,
USB
控制识别到
USB
设备,会向系统触发一中断,在中断函数中唤醒休眠线程,在线程中获取
USB
设备信息,并创建
USB
设备。 该过程可参考hub.c 文件。
USB
控制器触发中断入口函数:hub_irq。整个调用
流程
如下: ->hub_irq //产
嵌入开发(WinCE)
19,502
社区成员
41,568
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章