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

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

相关推荐
正点原子3 天前
【正点原子Linux连载】 第十章 pinctrl和gpio子系统实验 摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南
linux·运维·驱动开发
星马梦缘3 天前
“零一”智能硬件开发挑战赛 宣传稿
驱动开发·智能硬件·活动·培训·科协
小此方4 天前
Re:Linux系统篇(五十四)线程篇 · 七:互斥锁的底层实现原理:从硬件上下文、原子交换指令(Swap)到并发封装实战
linux·运维·驱动开发
芯片设计-曾工6 天前
当精准脉冲遇上清晰视界——CH2205E模块与YL1621的“黄金搭档“
驱动开发·stm32·单片机·51单片机·硬件工程
平凡的小蚂蚁7 天前
Exynos4412-POP-7inLCD裸机开发完整教程(STM32 库风格)
驱动开发·stm32·单片机·嵌入式硬件·嵌入式·硬件工程
小此方7 天前
Re:Linux系统篇(五十二)线程篇 · 五:直击 Linux 内核底层:TCB 与 LWP 一体两面全解析(附自定义线程封装)
linux·运维·驱动开发
胡八一8 天前
虚拟串口com0com安装教程
驱动开发·stm32·单片机
智者知已应修善业8 天前
【三位数字显示计时定时器设计-同步方式】2025-6-30
驱动开发·经验分享·笔记·硬件架构·硬件工程
zhangfeng11338 天前
AI编程范式:从Vibe Coding(氛围编程)向SDD规范驱动开发演进全解析
人工智能·驱动开发·ai编程
JNX_SEMI8 天前
Hi5000Q/H 6.5~75V宽输入——与H5227A完全对等,无缝适配现有电源方案-聚能芯-智芯官方授权一级代理
驱动开发·单片机·嵌入式硬件·物联网·硬件工程