当前位置: 首页 > news >正文

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

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


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

http://www.lryc.cn/news/258215.html

相关文章:

  • Android studio生成二维码
  • python——第十六天
  • JWT介绍及演示
  • Android Studio新版UI介绍
  • 基于ssm应急资源管理系统论文
  • K8S学习指南(9)-k8s核心对象init pod
  • 以太坊:前世今生与未来
  • vue3若依框架,在页面中点击新增按钮跳转到新的页面,不是弹框,如何实现
  • 【大模型】800万纯AI战士年末大集结,硬核干货与音乐美食12月28日准时开炫
  • linux配置python环境
  • 【教程】app备案流程简单三部曲即可完成
  • C++使用vector创建二维数组并指定大小
  • Spring支持哪几种事务管理类型,Spring 的事务实现方式和实现原理是?
  • 书-二分查找找某个数字p155
  • 【NLP】RAG 应用中的调优策略
  • Android-Framework 默认隐藏导航栏,添加控制显示属性
  • 【AIGC】Midjourney高级进阶版
  • C语言学习----指针和数组
  • 学习Node.js与Webpack总结
  • JAVA基础知识:泛型
  • 【WinRAR】为什么右键没有压缩选项?
  • 数据云:数据基础设施的一小步,数字经济的一大步
  • 极兔速递查询,极兔速递单号查询,筛选出指定派件员的单号
  • 条款25:考虑写出一个不抛出异常的swap函数
  • linux 中crontab 定时任务计划创建时间文件夹示例
  • 欣赏动态之美,不如欣赏C语言实现动态内存管理之美 ! ! !
  • from pycocotools.coco import COCO报错
  • CentOS服务自启权威指南:手动启动变为开机自启动(以Jenkins服务为例)
  • 第二百零一回 介绍一个三方包open_settings
  • iview Table实现跨页勾选记忆功能以及利用ES6的Map数据结构实现根据id进行对象数组的去重