ELDD读书笔记:第五章 字符设备驱动程序
2017-12-07 17:18
239 查看
字符设备驱动程序基础
驱动标识符
字符驱动程序基本模块
数据流
设备实例
检测数据可用性
和并行端口交互
RTC子系统
伪字符驱动设备
混杂驱动程序
字符设备驱动程序警告
查看源代码
2 入口函数集。如open()、read()、write()、ioctl()、llseek(),这些函数直接对应相应的I/O系统调用,由用户应用程序通过对应的/dev节点调用。
3 中断例程、底半部例程、定时器处理例程、内核辅助线程以及其他的组成部分。他们对于用户应用程序是透明的。
2 struct cdev,针对字符设备驱动程序的内核抽象。这个结构通常嵌入在前面讨论的特定设备结构中。
3 struct file_operations,包含所有设备驱动程序入口函数的地址。
4 struct file,包括关联/dev节点的信息。
驱动标识符
字符驱动程序基本模块
数据流
设备实例
检测数据可用性
和并行端口交互
RTC子系统
伪字符驱动设备
混杂驱动程序
字符设备驱动程序警告
查看源代码
0 字符设备驱动程序基础
[驱动标识符]
c:字符驱动设备 b:块设备 l:符号链接 bash>ls -l /dev total 0 驱动程序类型 主设备号|次设备号 crw------- 1 root root 5, 1 Jul 16 10:02 consle ... lrwxrwxrwx 1 root root 3 Oct 6 10:02 cdrom->hdc ... brw-rw 1 root disk 3, 0 Oct 1 hda ... crw------- 1 root tty 4, 1 Oct 6 10:20 tty1
[字符驱动程序基本模块]
1 初始化例程init()。负责初始化设备并且将驱动程序和内核的其他部分通过注册函数实现无缝连接2 入口函数集。如open()、read()、write()、ioctl()、llseek(),这些函数直接对应相应的I/O系统调用,由用户应用程序通过对应的/dev节点调用。
3 中断例程、底半部例程、定时器处理例程、内核辅助线程以及其他的组成部分。他们对于用户应用程序是透明的。
[数据流]
1 与特定设备相关的数据结构。此数据结构保存着驱动程序使用的信息。2 struct cdev,针对字符设备驱动程序的内核抽象。这个结构通常嵌入在前面讨论的特定设备结构中。
3 struct file_operations,包含所有设备驱动程序入口函数的地址。
4 struct file,包括关联/dev节点的信息。
1 设备实例
2 检测数据可用性
3 和并行端口交互
4 RTC子系统
5 伪字符驱动设备
6 混杂驱动程序
7 字符设备驱动程序警告
8 查看源代码
相关文章推荐
- 第12课第2.1节 字符设备驱动程序之LED驱动程序_编写编译
- Linux设备驱动程序学习(1)-字符设备驱动程序
- Linux驱动程序-----字符设备
- LDD: Ch 3 字符设备驱动程序
- LINUX字符设备驱动程序实例(scull)
- 字符设备驱动之按键处理二(中断处理的按键驱动程序)
- 并发控制的字符设备驱动程序
- 简单字符设备驱动程序(一)
- 从零开始写linux字符设备驱动程序(二)(基于友善之臂tiny4412开发板)
- IOCTL 高级字符设备驱动程序(国嵌笔记)
- Linux设备驱动开发基础---字符设备驱动程序开发之基于中断的按键驱动
- 简单字符设备驱动程序 以及 相应测试程序
- 简单字符设备驱动程序
- 字符设备驱动程序之同步互斥阻塞
- 字符设备驱动程序
- Linux字符设备驱动程序的一个简单示例
- 最简单的字符设备驱动程序
- 字符设备驱动程序学习笔记一
- 普通字符设备LED驱动程序(IO映射内存实现)
- 韦东山驱动视频笔记——2.字符设备驱动程序之中断方式的按键驱动程序