LINUX下USB1.1设备学习小记(1)
现在暂定的学习目标为一个USB鼠标的设备到主机的传输过程软件上的贯穿(会涉及到部分硬件 但是本人的电电路知识有限 涉及的量不会多)
学习的框架如下:
1. USB1.1协议
A. 控制传输
B. 中断传输
2. USB主机
A. LINUX下的UHCI
3. USB设备
A.飞利浦的PDIUSBD12
4. HID协议
A.鼠标部分
5. USB主机的HID驱动程序
A.鼠标部分
6. LINUX的INPUT子系统
A.鼠标部分
在这里简短说一下为什么会有USB协议的诞生~
一方面,在电脑上可以看多很多的插口,例如PS/2,网口,VGA,DVI,并口,打印机并口
USB设备主要为了统合这些日益增多的插口而诞生的
另一方面,并口的传输随着计算机数据流量的发展而显得力不从心,并口,泛指使用若干个数据位进行传输的设备,在计算机中信号的传输只有1和0两种信号,呢么一次传输数据的大小和数据位的关系就是2x 个bit,当有3个数据位的时候就是23位,也就是8个bit,一个字节,为了增加数据流量,会增大数据位的位数或者增大频率
可以看看IDE硬盘的数据线
密密麻麻的排了多少数据线,每根数据线就是一个数据位
并口传输的一个特征就是数据一定要一起到达,这样才不会出错,但当频率和数据位增大时,现在的电气技术无法解决信号一起到达的问题,所以开始转向研究串口传输
什么是串口传输呢? 画了个图和并口传输比较一下
左边的是串口传输,右边的是并口传输
可以看出并口传输是每个位一根数据线,并起来传输,而串口传输是所有的位共享一根数据线
而USB的总称是Universal Serial Bus~ 也就是 通用串行总线
这个协议的具体内容也就是规范了串行传输中的信号格式和如何使用这些信号
= 3= 转载请注明转自个人BLOG http://blog.chinaunix.net/u1/57901/
相关文档:
Linux驱动程序入门—Hello World
来源:
ChinaUnix博客 日期:
2009.11.19 21:17 (共有0
条评论) 我要评论
1、引言
记得在学习VC++和C语言的时候,一开始都会以一个HELLO
WORLD的例子作为演示,将学者逐渐引入殿堂,这个几乎成了计算机编程语言学习必经的一个入门之路。
......
上午做了axis的部署,看来分布式还真不简单,单是部署就搞的晕头转向。最后得到的解决方案更是匪夷所思。
大家都知道在linux设置环境变量的三种方法。
值得建议的是在 .bashrc,中修尬,因为这样更加的安全!
其中,tomcat,maven,jdk在我设置的时候,都是常规的,唯一,axis的部署有点诡异。不过还是成功了!
现面就是 ......
一、概述
系统调用是一个软中断,中断号是0x80,它是上层应用程序与Linux系统内核进行交互通信的唯一接口。通过int 0x80,就可使用内核资源。不过,通常应用程序都是使用具有标准接口定义的C函数库间接的使用内核的系统调用,即应用程序调用C函数库中的函数,C函数库中 ......
先是内核驱动程序:
#include <linux/module.h>//具体的头文件位置为/opt/FriendlyARM/mini2440/linux-2.6.29/include/linux/*.h
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/poll.h>
#include <l ......
咱就说说linux怎么一步到位设置系统时间。拿linux虚拟机做实验的朋友会知道。当你把linux还原到某个点的时候,vmware帮不了你把系统时间也给重设了。所以这时候就要手工来搞。关于咋设linux时间。网上介绍也很多,但是都是抄来抄去的东西。那怎么才能高效快捷的设置系统时间呢?
&nb ......