01_单片机程序和Linux程序从上层到底层的完整比较
1.1_单片机程序和Linux程序的分层
1.2_Linux应用程序和驱动程序的接口
1.3_字符设备驱动程序框架
1.4_深入与答疑
02_彻底分析第1个驱动程序
2.1_字符设备驱动回顾与数据流程
2.2_入口出口细讲
2.3_字符设备调用关系实验
2.4_数据交互
2.5_调试
03_驱动辅助信息及地址空间概念
3.1_驱动程序框架回顾_地址空间问题引入
3.2_地址片选与虚拟地址的引入
3.3_为什么需要虚拟地址
3.5_答疑
04_板子上的第1个驱动程序_实际操作及编译过程
4.1_LED驱动程序分析
4.2_在内核目录外编译模块
4.3_在内核目录里编译驱动
4.4_答疑1
4.5_答疑2
4.6_答疑3
05_分离的设计思想与总线设备驱动模型
5.1_引入分离的思想和总线设备驱动模型
5.2_总线设备模型下驱动程序的编写方法
5.3_匹配过程
5.4_platform_driver_platform_device万能膏药
5.5_驱动的两种写法的比较
5.6_应用场景和答疑
06_总线设备驱动模型彻底分析
6.1_字符设备和总线设备驱动模型回顾
6.2_使用总线设备驱动模型的驱动程序分析
6.3_上机实验
6.4_匹配(match)方法
6.5_platform_device注册过程分析
6.6_闲聊学习方法_私有数据
6.7_答疑
07_设备树入门
7.1_设备树的引入
7.2_创建设备树节点示例
7.3_设备树节点匹配过程
7.4_调试与完善
7.5_再次对比单片机驱动和Linux驱动
7.6_答疑
08_设备树示例_Pinctrl和GPIO
8.1_LED和按键的设备树示例
8.2_I2C设备树示例
8.3_SPI设备树示例
8.4_LCD设备树示例
8.5_怎么写设备树
8.6_学习方法闲聊
09_Pinctrl和GPIO
9.1_Pinctrl概念介绍
9.2_不同板子的Pinctrl信息对比
9.3_不同板子的GPIO信息对比
9.4_LED和网卡设备树示例
9.5_声卡设备树示例
9.6_答疑
10_应用程序和驱动程序的更多交互方式
10.1_应用程序和驱动程序交互的4种方式
10.2_中断的处理及APP的关系
10.3_中断系统的设备树分析
10.4_中断驱动编写示例
10.5_调试
11_用一个程序总结驱动机制
11.1_字符设备开发总结
11.2_非阻塞方式流程分析
11.3_休眠唤醒流程分析
11.4_poll机制流程分析
11.5_异步通知机制流程分析
11.6_信号处理内部机制
11.7_答疑
12_驱动开发基础答疑
12.1_poll答疑
12.2_硬件中断号与虚拟中断号
12.3_答疑
13_实战_SR501人体红外模块驱动开发
13.1_需求分析
13.2_实现设备树节点
13.3_实现驱动框架
13.4_上机实验
13.5_答疑
14_实战_SR501人体红外模块驱动完善
14.1_注册字符设备驱动
14.2_实现驱动的probe函数
14.3_实现驱动的read函数
14.4_单片机中断和Linux中断的简单比较
14.5_实现驱动的中断功能
14.6_实现休眠唤醒
15_实战_SR501驱动调试_深入_没有中断怎么办
15.1_SR501驱动程序作业解析
15.2_答疑
15.3_完善SR501驱动程序
15.4_SR501上机实验
15.5_内核线程的引入
15.6_编写内核线程代码
15.7_答疑闲聊
16_实战_SR501驱动_使用内核线程实现_答疑
16.1_讲解完整的SR501驱动程序
16.2_内核线程代码示例
16.3_创建内核线程_无法休眠
16.4_解决无法休眠的问题
16.5_解决内核线程无法停止的问题
16.6_答疑
16.7_中断深度答疑
17_SR04超声波测距模块驱动程序的两种写法
17.1_SR04超声波测距模块驱动编写思路
17.2_方法1_关中断查询
17.3_方法1_上机测试
17.4_方法2_使用中断
17.5_答疑
17.6_调试
18_DHT11温湿度传感器驱动程序的3种写法
18.1_DHT11温湿度传感器驱动程序编程思路
18.2_编写驱动_方法1_查询
18.3_上机调试_引脚输出时不该再设置方向
18.4_上机调试_发现时间不准
19_DHT11驱动多种调试方法(软件调试_逻辑分析仪)
19.1_纯软件调试DHT11驱动
19.2_使用逻辑分析仪调试DHT11驱动
20_DHT11驱动实现_中断方式和IIO系统
20.1_使用中断编写DHT11驱动的思路
20.2_使用中断来编写DHT11驱动
20.3_IMX6ULL中断丢失导致DHT11数据解析失败
20.4_IIO驱动之DHT11简单分析
20.5_在STM32MP157上实验成功
21_DS18B20驱动编程
21.1_DS18B20驱动编程思路
21.2_DS18B20驱动编写_框架
21.3_DS18B20驱动编写_完善
21.4_DS18B20驱动调试
21.5_下次课预习_输入子系统
22_红外遥控器HS0038的两种驱动程序
22.1_红外遥控器HS0038驱动编程思路
22.2_HS0038驱动_注册中断
22.3_HS0038驱动_怎么判断数据的完整性
22.4_HS0038驱动_解析数据
22.5_答疑
23_基于输入系统编写红外遥控器HS0038驱动程序
23.1_成功解析HS0038的数据
23.2_使用环形缓冲区的思路
23.3_完善HS0038驱动
23.4_使用输入子系统编写HS0038驱动
23.5_输入子系统驱动程序简单分析
23.6_答疑与预习
24_I2C设备驱动程序开发1_AT24C02程序框架
24.1_I2C总线设备驱动模型
24.2_编写AT24C02驱动框架
24.3_上机测试_无法probe
24.4_调试1_添加打印信息
24.5_调试2_发现内核缺陷
25_I2C设备驱动程序开发1_AT24C02编程与上机
25.1_AT24C02驱动编写思路
25.2_AT24C02驱动编写程序
25.3_AT24C02驱动上机调试
26_I2C设备驱动程序开发2_触摸屏驱动
26.1_I2C和输入系统的结合
26.2_I2C设备作为输入设备的驱动注册流程
26.3_输入设备注册过程代码分析
26.4_输入设备open_read过程代码分析
26.5_gt9xx驱动代码分析
26.6_答疑
26.7_FT5x06驱动代码分析
26.8_预习
27_SPI设备驱动开发1_OLED屏幕
27.1_SPI驱动程序开发流程
27.2_构造设备树节点
27.3_解决无法创建spi设备
27.4_解决无法probe
27.5_SPI字符设备驱动框架