Linux子系统系列-USB
来源:互联网 发布:北欧帅哥中国女孩知乎 编辑:程序博客网 时间:2024/04/28 21:58
最近调查了MUSB的一个问题,将USB这块的框架简单梳理了一下,趁热这次做下记录,能提纲挈领即可
/*****************************************************************/
目录
0,背景
1,USB 子系统结构
2,USB 子系统实现
0,背景
以前刚接触到USB设备-u盘时,我们每次都得手动查找新硬件,然后驱动安装,才能访问,后来慢慢的U盘一插上都能用了,当时很懒,也不去多想其中原理,就觉得真是神奇啊......
以后工作中都和这一类的东西打交道,才发现不光USB,所有其他一些支持即插即拔功能的总线,能发挥这种功效,都是中断(可以算是硬件规范)和一些驱动编程规范起了作用。
硬件规范可以不管任何设备,只要满足一些很简单的接口设计要求,就可以应用在任何场合(剩下的交给驱动了),这也是计算机的loader(可以启动各种操作系统)的设计原理。
没有规矩,不成方圆!
没有规范,没有驱动!!
USB的规范手册就描述了一种总线,这条总线上可以连接很多种设备(mass storage,keyboards,mice,etc.),通过它多种设备可以稳定的和host进行通信。
基于这个规范,Linux内核提供了USB子系统驱动。
需要注意的事,Linux的USB子系统只提供属于预定义的类别的设备的驱动,对于那些例外,需要特定的设备驱动,这里只是点出。
1,USB 子系统结构
回想大学时候数据结构没有学好,当时觉得学这些东西不知道拿来做什么,不能和实际的东西扯上关系,兴趣也就江河日下......这是前话,暂且不表了
这里我们就从描述当一个USB设备插上主机开始,看USB子系统如何工作,来了解它的大致框架:
U盘插上电脑,根据USB总线的硬件规范,会产生一个中断给CPU,
- Linux子系统系列-USB
- Linux-USB子系统
- Linux USB子系统 (1)
- Linux USB子系统 (2)
- Linux-USB子系统
- linux驱动子系统--USB
- Linux USB子系统 (1)
- Linux USB子系统 (2)
- linux usb 子系统
- Linux USB子系统
- Linux usb子系统
- linux usb子系统.框架
- linux USB子系统
- Linux子系统系列-时钟子系统
- Linux usb子系统(一):子系统架构
- Linux usb子系统(一):子系统架构
- Linux设备驱动子系统 - USB
- linux USB子系统学习笔记
- Android应用程序的调试
- 如何用VS2008打包发布含Oracle数据库客户端的程序
- c++primer 2/27----指针
- 不要认为停留在心灵的舒适区域内是可以原谅的
- C#操作excel(NPOI篇)
- Linux子系统系列-USB
- 用SecureCRT连接VMware中的Linux系统
- 判断查询结果是否为空
- 系统内存分配的问题,跪求牛人
- XpdataView转换为Datatable
- NoSQL数据库全方位对比
- 教幼儿学习儿歌的方法
- Web Application Firewall Bypasses and PHP Exploit
- java.lang.ClassCastException: android.widget.ImageView