驱动开发(一)--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驱动整理汇总(四)

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

相关推荐
小哈里10 小时前
【Agent】AI编程工程化实践 —— Context上下文工程,SDD规范驱动开发,MCP&Skills
驱动开发·agent·ai编程·上下文工程·规范驱动开发
枳实-叶2 天前
【Linux驱动开发】第13天:Linux内核设备树解析 OF API 超详细全解
linux·运维·驱动开发
小此方2 天前
Re:Linux系统篇(二十一)进程篇·六:穿过底层看本质,深入理解底层进程切换与 O(1) 调度算法
linux·驱动开发·算法
桑榆肖物2 天前
nanoFramework 正式支持 Raspberry Pi Pico RP2040
驱动开发·嵌入式硬件·iot
charlie1145141913 天前
嵌入式Linux驱动开发——Pinctrl 子系统架构深度解析
linux·驱动开发·系统架构
枳实-叶3 天前
【Linux驱动开发】第12天:Linux设备树核心:树形结构+节点+属性 完整全解
linux·运维·驱动开发
世微 如初3 天前
基于AP5160的大功率LED恒流驱动设计:原理分析与外围计算
驱动开发·单片机·芯片
路溪非溪3 天前
Linux下物理总线驱动模型之SDIO驱动框架
linux·驱动开发
高翔·权衡之境4 天前
主题10:实时性——硬实时与软实时
服务器·网络·驱动开发·信息与通信·智能硬件