Linux 驱动开发需要掌握哪些编程语言和技术?
2023-12-13 05:49:48
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设备?等等
如果驱动是和硬件打交道的,还需要了解对应硬件类型的工作机制以及相关技术。
以上,仅仅是很粗略的整理,涉及到的知识太多了,路在脚下吧,做起来,学起来。
文章来源:https://blog.csdn.net/lz19zlun/article/details/134951137
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!