
linux驱动
ccbuluo
软件学习者。。
展开
-
usb鼠标驱动注解及测试
<br />参考2.6.14版本中的driver/usb/input/usbmouse.c。鼠标驱动可分为几个部分:驱动加载部分、probe部分、open部分、urb回调函数处理部分。 <br />下文阴影部分为注解。 <br />一、驱动加载部分 <br />static int __init usb_mouse_init(void)<br /> { <br /> int retval = usb_register(&usb_mouse_drive r);转载 2011-04-12 18:05:00 · 481 阅读 · 0 评论 -
驱动中如何访问CPU中的寄存器
<br />如果都是在memory空间的话,CPU内部的寄存器(非CPU核的寄存器)和外设上的寄存器地位是同等的,因此映射方法也是2种:1是静态映射(S3C2410的基本上是这种),2是ioremap,注意映射的单位都至少是page。当然CPU核的寄存器(如 X86的CS、DS,ARM的R0,R1等)只能用汇编来访问了。 <br />在将Linux移植到目标电路板的过程中,通常会建立外设I/O内存物理地址到虚拟地址的静态映射,这个映射通过在电路板对应的map_desc结构体数组中添加新的成员来完成,map_转载 2011-04-12 18:12:00 · 1197 阅读 · 0 评论 -
Linux-USB Gadget : Part 4: 最简单的 gadget驱动:g_zero
<br />Linux-USB Gadget : Part 4: 最简单的 gadget 驱动: g_zero <br />作者: zjujoe 转载请注明出处 <br />Email : zjujoe@yahoo.com<br />BLOG : http://blog.youkuaiyun.com/zjujoe<br />前言 <br />前面讲过, gadget api 提供了 usb device controller 驱动和上层 gadget 驱动交互的接口。 UDC 驱动是服务提供者,而各种 gadget 驱转载 2011-04-12 18:09:00 · 2525 阅读 · 0 评论 -
Linux对I/O端口资源的管理
几乎每一种外设都是通过读写设备上的寄存器来进行的。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连续地编址。CPU对外设IO端口物理地址的编址方式有两种:一种是I/O映射方式(I/O-mapped),另一种是内存映射方式(Memory-mapped)。而具体采用哪一种则取决于CPU的体系结构。 有些体系结构的CPU(如,转载 2011-10-26 13:36:31 · 331 阅读 · 0 评论 -
Linux设备驱动之I2C架构分析
I2c是philips提出的外设总线.I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL.正因为这样,它方便了工程人员的布线.另外,I2C是一种多主机控制总线.它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须由主机发起才可以.而 I2C 是基于multi master机制.一同总线上可允许多个master.关于I2C协议的知识,这里不再赘述.可自行下载sp转载 2011-04-12 18:08:00 · 492 阅读 · 0 评论