如果你打开一份 RK3568 的驱动岗位 JD,会发现要求通常写得很笼统:熟悉 Linux 内核驱动、了解 Android 系统架构、能看懂原理图。但真正坐到工位上,第一个卡住你的问题往往特别具体——设备树里那个节点该挂到哪条总线上,probe 函数为什么没被调用,Android 的 HAL 层怎么拿到你驱动里报上来的数据。这门课解决的就是这一类问题。

先确认你缺的是哪一块

Android 驱动开发和单纯的 Linux 字符设备驱动不是一回事。你可以把寄存器读写、中断注册、platform 驱动模型都学过一遍,但一旦放进 Android15 + kernel-6.10 的环境里,仍然会碰到几层额外的隔阂:内核版本从 4.x/5.x 往上走之后,不少老写法已经失效;Android 的 GKI、vendor 模块划分、设备树覆盖机制,和你照着旧教程敲出来的那套结构对不上;再往上,驱动如何暴露给上层、HAL 与 framework 怎么衔接,很多人是断层的。

所以判断这门课适不适合你,不看你会不会写 C,而看这几个问题你能不能答上来:设备树里的 compatible 是怎么一步步匹配到你的 driver 的?Android 启动流程里,你的驱动在哪个阶段被加载?如果换个内核版本,你写的代码哪部分会先崩?答不上来,说明缺的正是这门课覆盖的部分。

它围绕一块具体的板子展开

课程基于正点原子 ATK-DLRK3568 开发板,平台是 RK3568,系统 Android15,内核 kernel-6.10。这个组合本身就说明了它的定位:不是抽象地讲驱动原理,而是从一块能上电、能烧录、能跑起来的板子出发,把驱动从写、到编、到进系统、到被上层调用这条链路走通。

对自学者来说,这一点比想象中重要。驱动开发的难点很少在语法,而在环境:交叉编译工具链对不对、内核源码树配置有没有开、镜像怎么打包进分区、log 从哪看。这些环节任何一步断了,你都只能对着一堆红字猜。课程把这些环节连起来讲,等于替你省掉了反复试错的时间。

你会实际处理哪些驱动模块

从课程定位看,它覆盖的是开发板上常见外设的驱动开发流程,包括字符设备、平台设备、设备树描述、中断处理、以及和 Android 上层对接的部分。重点不在于每个模块讲多深,而在于让你形成一套可复用的框架思维:拿到一个新的外设,知道该从原理图的哪几根线看起,知道设备树节点该怎么写,知道驱动骨架怎么搭,知道出错时先查哪里。

这套思维比记住某个寄存器的地址值有用得多。因为换一块板子、换一个芯片,寄存器会变,但流程基本不变。

学之前建议先做两件事

  • 确认你手上有可用的开发板或能稳定使用的实验环境。驱动开发不动手,看视频基本等于没看。
  • 把 C 语言里的指针、结构体、函数指针过一遍。内核代码里到处都是回调和链表操作,这部分不熟会拖慢你很多。

学完之后,你至少应该能独立回答:一个外设从硬件连接到应用可访问,中间经过哪些层;设备树在其中的作用是什么;Android15 下驱动模块的编译和加载方式与旧版本有何不同。如果这些问题你仍然只能含糊带过,那说明还得回去补对应章节。

RK3568-Android15驱动开发项目实战课程-基于正点原子3568开发板

课程详情

课程详情

课程名称:RK3568-Android15驱动开发项目实战课程-基于正点原子3568开发板

课程简介:

  • 课程立足点:基于正点原子的开发板(型号ATK-DLRK3568),使用RK3568平台、Android15系统、kernel-6.10内核版本。
  • 讲师背景:一线Android驱动开发工程师,拥有十多年驱动开发经验。
  • 课程特色:保姆式教学,手把手教学,视频带学,涉及模块齐全的开发板驱动开发视频教程。
  • 学习目标:从0到1构建驱动框架思维,理解Android分层开发思想,降低驱动入门门槛。

适合人群:

  • 有C语言编程基础或其他编程基础的人。
  • 有相关专业背景,想从事Android驱动、Linux驱动开发的社会人员、毕业生。
  • 了解硬件原理,想转行做安卓/Linux驱动开发的人。

课程大纲:

  • 课时一:前言部分
  • 课时二:准备工作
  • 课时三:RK平台新建产品lunch和dts
  • 课时四:点亮LCD 屏(MIPI / HDMI/DRM)
  • 课时五:触摸屏TP(GT911)
  • 课时六:GPIO子系统
  • 课时七:LED子系统简单开发
  • 课时八:调试按键KEY功能(ADC按键)
  • 课时九:调试传感器sensor功能
  • 课时十:调试Ethernet网卡功能(PHY型号YT8531)
  • 课时十一:调试RTC时钟功能
  • 课时十二:调试WIFI + 蓝牙BT功能
  • 课时十三:调试SATA硬盘功能
  • 课时十四:调试UART串口功能
  • 课时十五:调试TF卡功能
  • 课时十六:调试风扇fan功能
  • 课时十七:调试IR遥控功能
  • 课时十八:调试音频AUDIO功能
  • 课时十九:调试摄像头camera(型号IMX415)
  • 课时二十:ddr 和loader的简单开发

课程目录

01 RK3568-Android15驱动开发课程前言部分
  01 RK3568-Android15驱动开发课程前言部分.mp4
  02 本系列课程用的开发板和课程主要内容.mp4
02 RK3568-Android15驱动开发准备工作
  01 RK3568-Android15搭建编译开发环境.mp4
  02 RK3568-Android15编译SDK和烧录固件说明.mp4
03 RK3568-Android15新建产品lunch和dts
  01 新建开发板的产品lunch和内核dts板级配置.mp4
04 RK3568-Android15点亮各种接口的LCD屏
  01 RK平台点屏相关理论知识.mp4
  02 RK3568 Android15 点亮mipi屏.mp4
  03 RK3568 安卓15 MIPI LCD驱动架构浅析.mp4
  04 RK3568-Android15点亮HDMI屏.mp4
05 RK3568-Android15调试触摸屏TP功能详解
  01 TP相关理论知识要点.mp4
  02 RK平台调试触摸屏TP功能(型号是gt911).mp4
  03 搞懂Input输入子系统框架和使用-上半节.mp4
  04 搞懂input输入子系统框架和使用-下半节.mp4
06 RK3568-Android15的GPIO子系统的调试开发
  01 RK3568-Android15平台GPIO开发说明.mp4
  02 写一个GPIO驱动实现对led灯的操作-验证GPIO的API.mp4
07 RK3568-Android15的LED子系统详解
  01 RK3568-Android15控制LED状态灯亮灭.mp4
08 RK3568-Android15调试ADC按键功能详解
  01 RK3568-Android15按键KEY功能开发详解.mp4
09 RK3568-Android15调试各种sensor传感器
  01 RK平台sensor驱动框架浅析.mp4
  02 RK平台调试gsensor和陀螺仪.mp4
10 RK3568-Android15调试Ethernet网功能
  01 RK平台以太网网卡基础知识.mp4
  02 RK平台调试以太网网卡功能详解(phy是YT8531).mp4
11 RK3568-Android15调试RTC时钟功能详解
  01 RK3568-Android15调试RTC时钟功能.mp4
12 RK3568-Android15调试WIFI和蓝牙BT功能
  01 RK3568平台Android15调试WIFI功能.mp4
  02 RK3568平台Android15调试蓝牙功能.mp4
13 RK3568-Android15调试SATA硬盘功能详解
  01 RK3568-Android15调试SATA硬盘功能.mp4
14 RK3568-Android15串口UART功能开发详解
  01 RK3568-Android15串口UART的开启与切换详解.mp4
15 RK3568-Android15调试TF卡功能详解
  01 RK3568-Android15调试TF卡功能.mp4
16 RK3568-Android15适配fan风扇功能
  01 RK3568-Android15适配fan风扇功能.mp4
17 RK3568-Android15调试IR遥控功能详解
  01 RK3568-Android15调试IR遥控功能.mp4
18 RK3568-Android15音频AUDIO驱动调试
  01 RK3568-Android15调试喇叭和耳机功能详解.mp4
  02 RK3568-Android15的音频子系统代码架构浅析和主.mp4
19 RK3568-Android15调试Camera摄像头功能
  01 RK3568-Android15调试mipi摄像头-上半节.mp4
  02 RK3568-Android15调试mipi摄像头-下半节.mp4
20 RK3568-Android15的ddr和loader开发
  01 RK3568-Android15有关ddr和loader开发.mp4