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内核编程
一线原厂驱动开发经验,专门为嵌入式精心打造的嵌入式进阶视频教程,详情请点击:王利涛老师个人店