📄️ 第1章 Hello驱动(不涉及硬件操作)
我们选用的内核都是4.x版本,操作都是类似的:
📄️ 第2章 硬件知识_LED原理图
当我们学习C语言的时候,我们会写个Hello程序。
📄️ 第3章 普适的GPIO引脚操作方法
GPIO: General-purpose input/output,通用的输入输出口
📄️ 第4章 具体单板的GPIO操作方法
请使用GIT下载文档后,看图 4.1红框所示目录中各板子对应的文档及图片。
📄️ 第5章 最简单的LED驱动程序
这是补录的视频,它的章节序号是6A,表示看下面的第六章之前先看第6A章。后面的LED驱动程序为了容易扩展,引入了很多数据结构。对C语言的要求有点高,所以我们基于Hello驱动程序先写出最简单的LED驱动程序。
📄️ 第6章 LED驱动程序框架
注意:如果做实验安装驱动时提示version magic不匹配,请看本文档最后的“常见问题”。
📄️ 第7章 具体 单板的LED驱动程序
我们选用的内核都是4.x版本,操作都是类似的:
📄️ 第8章 驱动设计的思想
8.1 面向对象
📄️ 第9章 驱动进化之路:总线设备驱动模型
示例:
📄️ 第10章 LED模板驱动程序的改造:总线设备驱动模型
10.1 原来的框架
📄️ 第11章 驱动进化之路:设备树的引入及简明教程
- 官方文档(可以下载到devicetree-specification-v0.2.pdf):
📄️ 第12章 LED模板驱动程序的改造:设备树
12.1 总结3种写驱动程序的方法
📄️ 第13章 APP怎么读取按键值
在做单片机开发时,要读取GPIO按键,我们通常是执行一个循环,不断地检测GPIO引脚电平有没有发生变化。但是在Linux系统中,读取GPIO按键要考虑到效率,引入了很多种方法:查询方式(非阻塞)、休眠-唤醒(阻塞方式)、poll方式、异步通知方式。这4种方法并不仅仅用于GPIO按键,在所有的APP调用驱动程序过程中,都是使用这些方法。通过这4种方式的学习,我们可以掌握如下知识:
📄️ 第14章 查询方式的按键驱动程序_编写框架
14.1 LED驱动回顾
📄️ 第15章 具体单板的按键驱动程序(查询方式)
15.1 GPIO操作回顾
📄️ 第16章 GPIO和Pinctrl子系统的使用
参考文档:
📄️ 第17章 异常与中断的概念及处理流程
17.1 中断的引入
📄️ 第18章 Linux系统对中断的处理
18.1 进程、线程、中断的核心:栈
📄️ 第19章 驱动程序基石
19.1 休眠与唤醒