T8 高级驱动学习方法
1.回顾
1.1字符设备驱动开发步骤
- 首先要实现模块加载(
xxx_init())与卸载函数(xx_exit())函数 - 之后申请设备号(
register_chrdev_region()) - 注册字符设备驱动,
cdev_alloc(),cdev_init(),cdev_add() - 使用udev/mdev机制创建设备文件(设备节点),
class_create,device_create - 硬件初始化,具体包含
- io资源映射
ioremap,内核提供的gpio库函数- 注册中断
- 初始化等待队列
- 初始化定时器
- 构建
file_operation结构体 - 实现硬件操作方法,
xxx_open,xxx_read,xxx_write,xxx_close等
1.2框架引入
- 为了使得驱动代码可重用,可维护,可伸缩,使得驱动代码可移植性好,进而引入总线概念

浙公网安备 33010602011771号