驱动开发(一)--kernel树外驱动分析

目录

一、引言
二、路线
------>2.1、基础外设
------>2.2、核心总线
------>2.3、复杂协议驱动
------>2.4、多媒体框架驱动
三、总线/子系统等梳理

一、引言

从本专栏开始,会进行最底层驱动的开发,涉及到RK、Horizon等平台

二、路线

这个路径是一个从点(单一外设)、到线(总线通信)、再到面(复杂框架)的过程。这是一个相对漫长的过程,建议你花费2-3个月的时间,按照这个路径,以实践为主,逐个击破。最关键的是,每学一个模块,都要去翻阅RK3568的数据手册和你手头RDKS600的驱动代码,将抽象的理论和你具体的硬件、代码联系起来。这不仅能帮你学到技术,更能让你深入理解芯片厂商的BSP是如何设计与工作的

这些是芯片厂商必须要提供的接口

而一些复杂的多媒体框架,大点的芯片厂商也都会提供

下面是常见芯片公司的"驱动开发"分工:

芯片厂商不仅要做基础驱动,多媒体驱动也是核心工作。

所以我们后面的学习路线,将会包含基础的外设、总线驱动编写,还需要了解复杂的多媒体、AI驱动框架

2.1、基础外设
2.2、核心总线

这一阶段是整个学习路径的分水岭,重点在于理解设备驱动模型、总线、设备和驱动的关系,以及设备树(Device Tree) 的作用。

2.3、复杂协议驱动

当你理解了简单的总线驱动后,就可以挑战USB和PCIe这类更复杂的协议了。你的目标不再是每一行代码都看懂,而是理解其框架思想和初始化流程。

2.4、多媒体框架驱动

这是通往SDK开发专家的最后一站。你需要理解Linux下复杂的多媒体框架------V4L2用于视频,ALSA用于音频,DRM用于显示 。这个阶段的核心是理解框架,而非编写驱动。

三、总线/子系统等梳理

这边简单梳理一下之前整理过的常用子系统
RK3568---kernel驱动整理汇总(一)
RK3568---kernel驱动整理汇总(二)
RK3568---kernel驱动整理汇总(三)
RK3568---kernel驱动整理汇总(四)

我们之后也会按照这个顺序,进行驱动的学习,最后会补充没有提到的驱动

相关推荐
编程圈子1 天前
电机驱动开发学习18. SVPWM空间矢量调制算法详解与实现
驱动开发·学习·算法
智者知已应修善业2 天前
【 LM358AD方波】2024-12-31
驱动开发·经验分享·笔记·硬件架构·硬件工程
枳实-叶2 天前
【Linux驱动开发】第23天:spi_driver 的 probe / remove 函数实现规范
linux·驱动开发·c#
枳实-叶2 天前
【Linux驱动开发】第24天:SPI 数据收发机制
linux·运维·驱动开发
幽络源小助理2 天前
Windows11下的Cheat Engine+驱动源码编译并开启DBVM模式-幽络源技术
驱动开发·ce
枳实-叶3 天前
【Linux驱动开发】第22天:SPI 设备树 + spi_driver
linux·运维·驱动开发
世微 如初19 天前
AP5125大功率LED恒流驱动实战:地摊灯项目从原理图到调试笔记
驱动开发·芯片·led电源驱动·降压恒流ic
ScilogyHunter19 天前
Zephyr串口驱动开发及构建完全指南
驱动开发·uart·zephyr
_Emma_19 天前
【DRM&Graphic】Linux图形与显示框架
linux·驱动开发·图形渲染·显示器
董厂长19 天前
Loop Engineering:停止手动提示,开始设计自动提示的系统
大数据·人工智能·驱动开发·llm