Linux平台线驱动开发详解:从设备模型到文件操作.pptx

Linux平台线驱动开发详解:从设备模型到文件操作.pptx

Linux驱动开发课程

计好奇

高级驱动--平台总线

设备驱动模型和sysfs

平台总线模型

平台总线驱动编写

1

2

3

Linux设备驱动模型的由来

1,实现入口函数xxx_init()和卸载函数xxx_exit()

2,申请设备号register_chrdev(与内核相关)

3,利用udev/mdev机制创建设备文件(节点)class_create,device_create(与内核相关)

4,硬件部分初始化

io资源映射ioremap,内核提供gpio库函数(与硬件相关)

注册中断(与硬件相关)

5,构建file_operation结构(与内核相关)

6,实现操作硬件方法xxx_open,xxx_read,xxxx_write

设备驱动模型

Bus

Driver

Device

代表设备驱动对象

代表设备对象

代表总线对象

Sysfs文件系统

/sys目录

bus

class

module

devices

kernel

fs

module

/sys目录

block:用于管理块设备,系统中的每一个块设备会在该目录下对应一个子目录。

bus:用于管理总线,每注册一条总线,在该目录下有一个对应的子目录。

其中,每个总线子目录下会有两个子目录:devices和drivers。

devices包含系统中所有属于该总线的的设备。

class:将系统中的设备

文档评论(0)

1亿VIP精品文档

相关文档