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设备?等等

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

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-11 19:44:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-11 19:44:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-11 19:44:02       82 阅读
  4. Python语言-面向对象

    2023-12-11 19:44:02       91 阅读

热门阅读

  1. 如何编写编写干净的 PHP 代码

    2023-12-11 19:44:02       55 阅读
  2. 抖音视频评论区采集软件使用教程

    2023-12-11 19:44:02       136 阅读
  3. 智能家居IC

    2023-12-11 19:44:02       59 阅读
  4. 实验七 子网的划分

    2023-12-11 19:44:02       46 阅读
  5. CCSDS标准中使用的9/整数小波变换(Matlab实现)

    2023-12-11 19:44:02       53 阅读
  6. pixmap must be grayscale or rgb to write as png

    2023-12-11 19:44:02       61 阅读
  7. 【东枫科技 招聘】实习:无线通信工程

    2023-12-11 19:44:02       50 阅读
  8. mysql 批量修改优化方案

    2023-12-11 19:44:02       50 阅读
  9. Boost.SafeNumerics模块测试:constexpr转换编程

    2023-12-11 19:44:02       52 阅读
  10. 滑动窗口与堆结合

    2023-12-11 19:44:02       52 阅读
  11. PHP基础 - 常量字符串

    2023-12-11 19:44:02       59 阅读
  12. Vue3中组合式ApI的父子组件的数据传递

    2023-12-11 19:44:02       102 阅读