Linux内核编程:字符设备驱动

字符驱动算是Linux驱动中比较简单的一种了,本期课程以上一期的课程为基础,在学员掌握了中断编程的基础上,以实时时钟RTC为例,在vexpress ARM开发板上,从零开始,一步一步学习编写第一个字符设备驱动
实现了RTC字符设备驱动的基本功能:

  • 字符设备的创建、注册、设备号申请
  • 字符设备的中断处理
  • file_operation接口的填充
  • 读取RTC实时时间
  • 设置RTC时间
  • 设置RTC闹钟

为了更方便用户开发应用程序,在完成字符设备驱动功能的基础上,并对RTC驱动的ioctl接口进行了封装:封装成了RTC函数库,更方便开发人员基于RTC库开发应用程序。

本期课程详细信息:

  • 课时:15课时
  • 视频时长:03小时57分钟45秒
  • 视频分辨率:1920*1080P
  • 视频大小:2.40GB
  • 学习环境:Ubuntu+qemu仿真ARM开发板

课程目录:

  • 字符设备驱动开发框架
  • 编写第一个字符驱动:RTC
  • 内核源码解读:字符设备的注册过程
  • 内核源码解读:字符设备的open和read
  • 使用cdev接口编写字符驱动
  • 动态申请字符设备号
  • 自动创建设备节点:/dev/xxx
  • 实现字符设备驱动接口:write
  • 驱动的私有数据:private_data
  • 实现字符设备驱动接口:ioctl
  • ioctl命令编码规范
  • 让你的驱动更加稳定和高效
  • ioctl接口封装:RTC库函数
  • 编写用户手册和文档

学员预期收获:

  • 掌握商业级字符驱动的开发流程
  • 掌握字符驱动需要的内核编程接口
  • 深入理解字符设备的注册流程
  • 深入理解字符设备的读写流程
  • 学会封装字符设备接口为库函数
  • 学会编写字符设备驱动测试程序

本期课程为:Linux内核编程第5期,后续的课程会陆续更新发布,已购课学员请直接及时同步课程视频学习。课程地址:Linux内核编程

一线原厂驱动开发经验,专门为嵌入式精心打造的嵌入式进阶视频教程,详情请点击:王利涛老师个人店