Linux驱动
ling1874
这个作者很懒,什么都没留下…
展开
-
Linux驱动
目 录驱动 I/O端口 from smth 基本结构 驱动程序 具体实现 PCI loopback Sis 900 ISA总线DMA的实现 驱动 Linux系统支持三种类型的硬件设备:字符设备、块设 备和网络设备。字符设备是直接读取的,不必使用缓冲区。例如,系统的串行口/dev/cua0和/dev/cua1。块设转载 2009-03-26 22:49:00 · 931 阅读 · 0 评论 -
OTG驱动分析(二)
上回介绍了OTG功能的 OTG部分驱动,本片分析OTG功能的从设备部分驱动。从设备的注册过程和OTG的一样,首先注册设备。流程是:1.定义platform_device结构。 <br />2.定义platform_device下的struct resource设备资源结构 <br />3.定义platform_device下的DEV设备下的平台私有数据(就是该设备私有的数据) <br />4.调用platform_device_register将platform_devi转载 2010-07-23 21:52:00 · 7180 阅读 · 5 评论 -
USB OTG驱动分析(一)
<br /><br />前一段时间弄了2个礼拜的OTG驱动调试,感觉精神疲惫啊。主要原因还是自己对OTG功能不了解造成的。现在终于完成但是对实质原理还有些模糊。所以自己重新总结一下。因为自己是菜鸟,所以用菜鸟的白话方式分析。高手滤过吧。所谓OTG功能就是具备该功能的设备即可当主设备(host)去轮询别人,也可以当从设备(device)去被别人轮~~(双性人?)。正所谓所有的产品和功能都是因为需求存在的,举个最简单的需求,原来MP3想传送一个歌曲都得通过电脑。现在只要两个MP3链接,其中一个MP3转载 2010-07-23 21:43:00 · 19426 阅读 · 6 评论 -
字符设备驱动编写步骤
<br />1.标准字符设备驱动<br /> a.注册设备号 如 <br />if(key_major) /*静态注册*/<br /> err = register_chrdev_region(devno, 1, DEVICE_NAME);<br /> else<br /> { /*动态注册*/<br /> err = alloc_chrdev_region(&devno, 0, 1, DEVICE_NAME);<br /> key_maj转载 2010-07-19 13:58:00 · 1121 阅读 · 0 评论 -
platform设备驱动全透析
<br />1.1 platform总线、设备与驱动<br />在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。<br />一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2 C、SPI等的设备而言,这自然不是问题,但是在嵌入式系统里面,SoC系统中集成的独立的外设控制器、挂接在SoC内存空间的外设转载 2010-07-19 16:40:00 · 1844 阅读 · 0 评论 -
Linux Platform Device and Driver
<br />从Linux 2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。<br />Linux中大部分的设备驱动,都可以使用这套机制, 设备用Platform_device表示,驱动用Platform_driver进行注册。<br /> <br />Linux platform driver机制和传统的device driver 机制(通过driver_register函数进行注册)相比,一个十分明显的优势在于platform机制将设备本身的资源注转载 2010-07-19 16:07:00 · 939 阅读 · 0 评论 -
usb_hub_descriptor的详细介绍
struct--usb_hub.usb_hub_descriptorstruct usb_hub_descriptor|--------------------------||__u8 bDescLength ||__u8 bDescriptorType ||__u8 bNbrPorts ||__le16 wHubCharact转载 2010-05-12 11:38:00 · 2614 阅读 · 0 评论 -
按键驱动分析
注释是自己的理解,可能会有写差错#include #include #include #include #include #include #include #include #include #include #include #include #include #define SCAN_INTERVAL 5 //the interv原创 2010-03-24 09:55:00 · 1173 阅读 · 0 评论 -
Linux输入子系统
12.1及12.2.1~12.2.8节分别讲解按键与触摸屏的设备驱动,实际上,在Linux系统中,一种更值得推荐的实现这类设备驱动的方法是利用input子系统。Linux系统提供了input子系统,按键、触摸屏、键盘、鼠标等输入都可以利用input接口函数来实现设备驱动,因此,12.1~12.2节的按键和触摸屏设备驱动都可以作为input设备驱动而实现。在Linux内核中,input设备用转载 2010-03-24 09:50:00 · 1049 阅读 · 0 评论 -
uboot.lds解读------详解
对于.lds文件,它定义了整个程序编译之后的连接过程,决定了一个可执行程序的各个段的存储位置。虽然现在我还没怎么用它,但感觉还是挺重要的,有必要了解一下。先看一下GNU官方网站上对.lds文件形式的完整描述:SECTIONS {...secname start BLOCK(align) (NOLOAD) : AT ( ldadr ) { contents } >reg转载 2010-01-04 11:05:00 · 2101 阅读 · 0 评论 -
Uboot详解~~~
大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。1、Stage1 start.S代码结构 u-boot的stage1代码通常放在start.S文件中,他用汇编语言写成,其主要代码转载 2009-12-31 00:15:00 · 4390 阅读 · 0 评论 -
Uboot常用命令
Printenv 打印环境变量。Uboot> printenvbaudrate=115200ipaddr=192.168.1.1ethaddr=12:34:56:78:9A:BCserverip=192.168.1.5Environment size: 80/8188 bytesSetenv 设置新的变量Saveenv 保存变量命令将当前定义的所有的变量及其值存入fla转载 2009-12-29 11:08:00 · 1142 阅读 · 0 评论 -
nand flash结构以及读写分析——写的比较经典(转载)
今天在利用ARM7上的nandflash控制器驱动,ID已读取成功,擦写,读取等尚未完成,晚上就在网上查查相关的知识,觉得有一个不错,转贴如下:NAND Flash 的数据是以bit 的方式保存在memory cell,一般来说,一个cell 中只能存储一个bit。这些cell 以8 个或者16 个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND D转载 2009-12-19 14:01:00 · 772 阅读 · 0 评论 -
linux 2.6.x spi驱动,spidev,使用从设备
<br />Links: blog.csdn.net/lanmanck/archive/2009/08/18/4459699.aspx基于atmel的spi模型,大家可以先看下这篇文章的分析:http://blog.chinaunix.net/u3/96265/showart_1925533.html【转帖注明出处】http://blog.csdn.net/lanmanck但是有的细节没有提到,我补充一下,不对请指出:1、驱动中有总线和设备的概念。spi控制器就是总线(spi总线)转载 2010-08-05 20:05:00 · 2145 阅读 · 0 评论