Linux 驱动开发需要掌握哪些编程语言和技术?

Linux 驱动开发需要掌握哪些编程语言和技术?

在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「Linux的资料从专业入门到高级教程+工具包」,点个关注,全部无偿共享给大家!!!

在评论区回复"888"之后私信回复"888",即可拿走。

如果是个存新手,就先安装 Linux 用着。

支持的语言

2023年底了,这个时间点,除了汇编(汇编也是不推荐的,因为是架构相关的)以外,可以用 c 和 rust两门语言编写 Linux 驱动。

这里声明,目前 ++Rust For Linux++ 还是早期阶段, Linus 在最近的活动中也明确表示, Rust 支持最终会成为内核一部分,但是这个时间可能还需要几年时间,但是目前也是可以尝试用 Rust 去写 Linux 内核模块的,当然包含驱动,这个仅仅对于 Geek 玩家推荐!

所需的知识

这个太广了,我仅仅罗列可能的一个技术依赖,欢迎交流。

首先:你得有一个能编译 Linux 内核的环境,最高效的就是在你自己笔记本或者台式机上安装一个 Linux 系统, 次之可以选择在虚拟机中安装一个 Linux 环境

第二:熟悉,Linux 的使用,并且逐渐了解 Linux 的内部的各个东西

第三:你得是个程序员吧? 掌握 C 语言或者 Rust

第四:从 ++kernel.org++ 下载一个内核版本

第五: 确定驱动的类型,是文件系统驱动?USB设备(不同类别的)?PCI设备?等等

如果驱动是和硬件打交道的,还需要了解对应硬件类型的工作机制以及相关技术。

以上,仅仅是很粗略的整理,涉及到的知识太多了,路在脚下吧,做起来,学起来。

相关推荐
不悔哥2 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi20163 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
深圳老胡3 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
女神下凡3 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9663 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛3 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
CHENKONG_CK3 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
三佛科技-187366133973 天前
128KB~512KB Flash车规级MCU选型指南(FT32A072 / FT32A103 系列)
单片机·嵌入式硬件
Brilliantwxx3 天前
【STM32】 SPI Flash 驱动开发实战:阻塞模式驱动 W25Q64(含工程代码)
开发语言·stm32·单片机·嵌入式硬件
纳祥科技3 天前
拆机拆到芯片级:ARC功放机里的NX7026、NX8420、NX6805
单片机·音视频·智能音箱