linux 设备驱动开发
文章平均质量分 66
笨笨熊_穆
这个作者很懒,什么都没留下…
展开
-
NAND FLASH扇区管理及初始化
(1)首先需要了解NAND FLASH的结构。如图: 以镁光MT29F4G08BxB Nand Flash为例,这款Flash(如上图)以4个扇区(sector)组成1个页(page),64个页(page)组成1个块(block),4096个块(block)构成整个Flash存储器;由于每个扇区的容量是512 字节(bytes),整个Flash容量为4224转载 2013-08-12 16:26:22 · 886 阅读 · 0 评论 -
ARM Linux 3.x的设备树(Device Tree)
目录(?)[-]ARM Device Tree起源Device Tree组成和结构DTS device tree sourceDTC device tree compilerDevice Tree Blob dtbBindingBootloaderDevice Tree引发的BSP和驱动变更常用OF API总结1. ARM Device Tree起源Lin转载 2014-05-12 23:55:45 · 498 阅读 · 0 评论 -
__devexit_p的功能
__devexit_p的功能在看驱动的时候,时常会有如下代码:.remove = __devexit_p(XX_exit),这里的__devexit_p有什么作用呢?我在include/linux/init.h中找到了它的定义:/* Functions marked as __devexit may be discarded at kernel link time, d原创 2014-05-08 16:59:01 · 1373 阅读 · 0 评论 -
i2c驱动之设备模型建立
一:设备模型建立流程图 二:重要函数分析(1)新适配器加入内核: int i2c_add_numbered_adapter(struct i2c_adapter *adap){ int id; int status; if (adap->nr & ~MAX_ID_MASK) return -EINVAL;retry://为i2c_adapter转载 2014-05-07 11:45:27 · 816 阅读 · 0 评论 -
lock_kernel
谈到lock_kernel,首先应该参看源码(此处所讲的是2.6.11版本的内核)中的include/linux/smp_lock.h文件。具体请参见该文件,在此处就不列出源码了下面就开始分析了#ifdef CONFIG_LOCK_KERNEL首先就是判断我们是否配置内核支持内核锁。当然分两种情况了,要么配置了,要么就没有要这种功能先来看配置了内核锁之后的代码部转载 2014-05-07 11:23:49 · 1183 阅读 · 0 评论 -
class_create & class_device_create
//主要是在/sys/class/ 下创建一个 “name”的文件夹 ! 从linux内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代。相比devfs,udev有很多优势,在此就不罗嗦了,提醒一点,udev是应用层的东东,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_create转载 2014-05-06 21:25:39 · 690 阅读 · 0 评论 -
register_chrdev()与unregister_chrdev()
Linux下的设备驱动程序被组织为一组完成不同任务的函数的集合,通过这些函数使得Windows的设备操作犹如文件一般。在应用程序看来,硬件设备只 是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作,如open ()、close ()、read ()、write () 等。Linux主要将设备分为二类:字符设备和块设备。字符设备是指设备发送和接收数据以字符的形式进行;而块设备则以整转载 2014-05-06 16:26:33 · 1523 阅读 · 0 评论 -
浅析linux内核中的idr机制
原文:http://blogold.chinaunix.net/u3/93926/showart_1874142.html idr在linux内核中指的就是整数ID管理机制,从本质上来说,这就是一种将整数ID号和特定指针关联在一起的机制。这个机制最早是在2003年2月加入内核的,当时是作为POSIX定时器的一个补丁。现在,在内核的很多地方都可以找到idr的身影。idr机制适用在那转载 2014-05-05 11:05:36 · 525 阅读 · 0 评论 -
i2c_client,i2c_adapter和I2C-core的简介
I2C的主要有两大数据结构,struct i2c_client 和 struct i2c_adapter。 2.1 i2c_client struct i2c_client { unsigned short flags; unsigned short addr; char name[I2C_NAME_SIZE]转载 2014-05-04 20:20:50 · 945 阅读 · 0 评论 -
CFI --- Common Flash Interface
1.CFI简介 CFI(Common Flash Interface)的作用是把 NOR Flash 的信息通过统一的方法读出来。 不同公司产的NOR Flash在 erase,program,lock,unlock等操作上有差别,即command set不一样。 本来产品中用这种NOR Flash,后来升级又换了其他牌子的了,command set不一样,就要改代转载 2013-08-16 00:02:05 · 2786 阅读 · 0 评论 -
PCI 配置空间 相关摘要
1. 每一个在BUS上的DEVICE都有一个配置空间2.原创 2014-11-21 15:14:17 · 558 阅读 · 0 评论