这门课解决什么问题

很多做单片机开发或者刚接触嵌入式操作系统的上班族,在转到 Linux 平台时都会卡在同一个地方:应用层代码写得挺熟,但一碰到底层硬件控制就发懵。这部分的焦点就是 Linux 驱动开发的起步阶段。它不贪大求全去讲复杂的总线框架,而是把工作场景收缩到最具体的外设交互上:怎么用设备树去描述硬件、怎么在内核空间操作寄存器、怎么让定时器和蜂鸣器按预期工作。如果你平时的工作场景是“拿到一块开发板,需要自己写代码让上面的灯亮起来、让蜂鸣器响起来”,那这部分内容就是直接对着这个需求来的,帮你跨过从看懂别人代码到自己动手写驱动的那道坎。

适合什么基础与学习建议

这批资料不适合零基础。你得对 C 语言指针、结构体这些基本功有概念,最好已经写过简单的 Linux 应用程序,或者有过裸机开发经验。如果是纯转行、没碰过寄存器配置的读者,直接看会在硬件原理上卡壳。建议先重点看设备树和 OF 函数那几节,因为这是 Linux 驱动和传统单片机开发最大的分水岭,理解了怎么从设备树节点里提取属性,后面的代码才看得懂。接着去跟寄存器映射和获取节点属性的内容,这两块是写 LED 驱动的核心骨架。看视频时务必开着编辑器同步敲代码,不要只用眼睛过一遍,驱动开发的手感是靠编译报错调出来的。

学完能独立做什么与资料怎么用

把这几个模块顺下来,你能独立完成基础的字符设备驱动编写。具体来说,拿到一块带 LED 和蜂鸣器的新板子,你能自己修改设备树添加节点,编写驱动代码完成物理地址到虚拟地址的映射,最后调用内核定时器实现周期性控制。练习时,资料包里的视频是主线,但不要只看不练。自己找一份对应的开发板原理图,对照着视频里的流程,把设备树节点自己从头写一遍,再去实现驱动逻辑。遇到内核定时器和有源蜂鸣器的部分,先试着自己写一版控制代码,再去和资料里的实现逻辑对比,看看时序和 API 调用的差异在哪。这样配合下来,这套资料才算物尽其用,而不是看完就忘。


掌握驱动开发技术;积累LED、定时器、蜂鸣器驱动开发经验。

课程目录

*   01 课程介绍/

  *   01 课程介绍.mp4 (75.41 MB), 22:32

*   02 GPIO/

  *   01 GPIO.mp4 (14.50 MB), 04:40

*   03 设备树/

  *   01 设备树.mp4 (61.60 MB), 17:11

  *   02 标准属性.mp4 (63.84 MB), 15:04

  *   03 OF函数.mp4 (66.65 MB), 14:45

*   04 内核定时器/

  *   01 内核定时器.mp4 (38.01 MB), 10:36

*   05 有源蜂鸣器/

  *   01 有源蜂鸣器.mp4 (42.65 MB), 10:06

*   06 LED驱动开发/

  *   01 获取设备节点和属性.mp4 (99.13 MB), 16:43

  *   02 寄存器映射.mp4 (134.44 MB), 20:53

  *   03 读写寄存器.mp4 (127.86 MB), 21:05

  *   04 注册字符设备.mp4 (88.55 MB), 14:42

  *   05 注销字符设备.mp4 (81.99 MB), 13:46

  *   06 测试程序编写.mp4 (36.99 MB), 06:16

  *   07 LED驱动测试.mp4 (75.43 MB), 11:50

*   07 定时器驱动开发/

  *   01 设备树属性获取.mp4 (76.42 MB), 12:32

  *   02 注册定时器设备.mp4 (59.45 MB), 10:24

  *   03 控制定时器设备.mp4 (134.05 MB), 22:22

  *   04 测试定时器功能.mp4 (74.61 MB), 12:54

*   08 蜂鸣器驱动开发/

  *   01 BEEP设备与驱动匹配.mp4 (96.02 MB), 16:45

  *   02 BEEP设备注册与操作实现.mp4 (80.24 MB), 13:29

  *   03 BEEP功能测试.mp4 (62.96 MB), 12:40