【初入Linux底层驱动,新手必踩的3大困境,你中了吗】
软硬件迷局:教程照做、连线无误,设备却毫无反应,黑屏之下无从排查,热情被挫败感消耗殆尽;
术语轰炸:自旋锁、设备树、中断下半部等名词扎堆,似懂非懂,学了半天仍无从下手;
孤独求索:卡壳数日查遍资料无果,提问无人回应,学习热情在孤立无援中逐渐冷却。
【课程内容(部分)】
1.体会尝试芯片原厂的驱动开发与移植过程,完全应对Linux驱动工程师的工作内容和工作流程。
2.学习驱动相关的Debug调试技巧,包括MIPI DSI、MIPI CSI、I2C、SPI、中断、USB、PCIE、动态printk等。
3.高阶编程思想(分层架构、class、bus、device、platform,结合安卓framework层去理解)
4.Android源码获取与编译环境搭建与编译,了解安卓/Linux项目版本基线的管理,了解安卓固件的烧写。
5.日志打印技巧,Uboot阶段日志、Kernel阶段日志、Framework阶段日志。
6.开机电路PMIC芯片及相关电路详解
7.深入理解MIPI LCD屏幕的移植,开机Logo修改,了解FrameBuffer和DRM的区别、Linux DRM框架分析、Linux Graphics学习,理解RK display driver的写法与构成,屏幕Debug手段。
8.深入理解TP的移植,了解TP的构成,学习Input子系统、进阶多点触控协议,中断如何唤醒CPU、中断的注册流程与中断唤醒系统,进阶TP性能优化。
9.深入理解MIPI Camera驱动移植,Camera硬件电路分析,MIPI CSI基础,Camera的调试手段,MIPI摄像头驱动,RK Camera driver写法与构成。
10.深入理解GPIO和Pinctrl子系统,I2C子系统,I2C传输优化,UART驱动(tty core、serial driver分析)、USB驱动分析,headset耳机检测,SD卡驱动,PCIE驱动、WIFI&蓝牙驱动、I2S与Codec音频驱动,PCM与PDM,Linux ALSA,MMP多媒体。
11.深入理解中断:中断子系统(GIC中断控制器),中断号映射,注册中断,中断处理流程,中断唤醒系统原理与过程。
12.学习RC522 NFC驱动移植,并进行SPI传输优化
13.学习HC-SR501红外传感器驱动从零撰写,并且结合双定时器加中断实现待机灭屏
14.高阶知识:TF-A与TEE OS讲解,SPL的设备树镜像,ATAGS传参机制,嵌入式AI部署,RK Power,Low Power,Android OTA升级,ARM Neno加速。