- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
目 录
前言
Linux字符设备驱动剖析
Linux模块化机制和module_init
Linux 设备文件的创建和mdev
从需求的角度去理解Linux系列 :总线、设备和驱动
字符设备驱动、平台设备驱动、设备驱动模型、sysfs的比较和关联
本文档使用 看云 构建 - 2 -
前言
前言
原文出处 :移动开发专栏文章
作者 :吴跃前
本系列文章经作者授权在看云整理发布 ,未经作者允许 ,请勿转载 !
#嵌入式Linux内核驱动情景分析
深入剖析嵌入式Linux系统的内核和驱动开发技术 ,包括Linux设备驱动框架、软件层次、虚拟文件系统、内
存管理、系统调用、功耗管理、具体文件系统、进程间通信等操作系统相关技术以及各种总线子系统框架和
开发技术。
本文档使用 看云 构建 - 3 -
Linux字符设备驱动剖析
Linux字符设备驱动剖析
一、先看看设备应用程序
1.很简单 ,open设备文件 ,read、write、ioctl ,最后close退出。如下 :
intmain(int argc ,char *argv[]){
unsigned char val[1] 1;
int fd open(/dev/LED,O_RDWR);//打开设备
write(fd,val,1);//写入设备,这里代表LED全亮
close(fd);//关闭设备
return 0;
}
二、/dev目录与文件系统
2./dev是根文件系统下的一个目录文件 ,/代表根目录 ,其挂载的是根文件系统的yaffs格式 ,通过读取/根目录这
个文件 ,就能分析list出其包含的各个目录 ,其中就包括dev这个子目录。即在/根目录 (也是一个文件 ,其真实存
在于flash介质 )中有一项这样的数据 :
文件属性 文件偏移 文件大小 文件名称 等等
ls/ 命令即会使用/挂载的yaffs文件系统来读取出根目录文件的内容 ,然后list出dev (是一个目录 )。即这时还不
需要去读取dev这个目录文件的内容。Cd dev即会分析dev挂载的文件系统的超级块的信息,superblock ,而不再
理会在flash中的dev目录文件的数据。
3./dev在根文件系统构建的时候会挂载为tmpfs. Tmpfs是一个基于虚拟内存的文件系统 ,主要使用RAM和
SWAP (Ramfs只是使用物理内存 )。即以后读写dev这个目录的操作都转到tmpfs的操作 ,确切地讲都是针对
RAM的操作 ,而不再是通过yaffs文件系统的读写函数去访问flash介质。Tmpfs基于RAM ,所以在掉电后回消
失。因此/dev目录下的设备文件都是每次linux启动后创建的。
挂载过程 :/etc/init.d/rcS
Mount –a 会读取/etc/fstab的内容来挂载 ,其内容如下 :
本文档使用 看云 构建 - 4 -
Linux字符设备驱动剖析
4./dev/NULL和/dev/console是在制作根文件系统的时候静态创建的 ,其他设备文件都是系统加载根文件系统和
各种驱动初始化过程中自动创建的 ,当然也可以通过命令行手动mknod设备文件。
三、设备文件的创建
5./dev目录下的设备文件基本上都是通过mdev来动态创建的。mdev是一个用户态的应用程序 ,位于busybox工
具箱中。其创建过程包括 :
1 )驱动初始化或者总线匹配后会调用驱动的probe接口 ,该接口会调用device_create(设备类, 设备号, 设备名);
在/sys/class/设备类目录生成唯一的设备属性文件 (包括设备号和设备名等信息 ),并且发送uvent事件
(KOBJ_ADD和环境变量 ,如路径等信息 )到用户空间 (通过socket方式 )。
2 )mdev是一个work_thread线程 ,收到事件后会分析出/sys/c
您可能关注的文档
最近下载
- 中小学生心理健康诊断测验MHT(附测试量表及评分细则).docx VIP
- HG-T 3866-2008 硫化橡胶 压缩耐寒系数的测定.pdf VIP
- 2025年内蒙古公务员考试《申论》真题及答案 .pdf VIP
- 第12课 汉武帝巩固大一统王朝 课件(共25张PPT)(含音频+视频).pptx VIP
- 中电联定额〔2015〕162号对于前期工作费等费用标准的的通知.docx
- 履带吊租赁合同.pdf VIP
- 《中国饮食文化》教学课件—06中国馔肴文化与特色筵宴设计.pptx VIP
- 呼吸内科病案分析.ppt VIP
- 肌骨康复:腰痛康复PPT课件.pptx
- 2023-2024学年河南省南阳市卧龙区九年级(上)期中数学试题(含解析).doc VIP
原创力文档


文档评论(0)