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框架引入

  • 为了使得驱动代码可重用,可维护,可伸缩,使得驱动代码可移植性好,进而引入总线概念
posted @ 2021-08-05 23:54  MHDSG  阅读(65)  评论(0)    收藏  举报