新手入职Linux驱动岗后,必听的5个忠告

简介: 新手入职Linux驱动岗后,必听的5个忠告

1、不要只会用printk

除了printk,内核里面有很多pr_infopr_err等打印函数,要学会控制打印等级,以及针对不同的场景使用不同的打印函数。

2、新手不要直接改defconfig

内核有默认配置文件xxx_defconfig,如果你要修改内核的一些配置,作为新手不要直接去修改xxx_defconfig

稳妥的做法是执行make menucofig通常菜单进行配置,最后把.config文件覆盖掉xxx_defconfig,然后再上传这个xxx_defconfig

3、不要直接映射每一个物理地址

Linux下操作寄存器一定要先映射,但是通常只映射基地址,通过基址加偏移的方式操作。

不要直接去映射每一个寄存器的物理地址,因为对于某一个驱动,虽然有很多寄存器,但基址都是一样的。

4、不要不学uboot

即便你是Linux驱动岗,uboot怎么启动kernel,都传了什么参数,涉及到的地址有哪些,uboot的驱动怎么写这些必须知道。

5、不懂内存,不足以谈驱动

一定要多看看内存相关的知识。Linux下操作的都是虚拟地址,写进寄存器的是物理地址,怎么知道虚拟地址对应的物理地址?分配dma一致性内存和分配普通内存有什么区别?

寄存器手册写的地址是物理地址,给我记住了

dma内存问题,缓存一致性问题等,这些你都逃不掉

end

往期推荐

入职Linux驱动工程师后,我才知道的真相......

机遇:我是如何走向Linux驱动的...

当我用几道题考了一遍做Linux驱动的同事......

你解决bug的能力,暴露了你的水平

Linux驱动面试高频考点

相关文章
|
2月前
|
Linux API 调度
Linux系统驱动跟裸机驱动的区别
Linux系统驱动跟裸机驱动的区别
33 0
|
2月前
|
Linux C语言 SoC
嵌入式linux总线设备驱动模型分析
嵌入式linux总线设备驱动模型分析
33 1
|
2月前
|
存储 缓存 Linux
【Shell 命令集合 磁盘维护 】Linux 设置和查看硬盘驱动器参数 hdparm命令使用教程
【Shell 命令集合 磁盘维护 】Linux 设置和查看硬盘驱动器参数 hdparm命令使用教程
39 0
|
2月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
106 1
|
1天前
|
Linux
linux驱动层输出dev_dbg打印信息
linux驱动层输出dev_dbg打印信息
4 0
|
10天前
|
存储 监控 Linux
【专栏】如何在 Linux 中列出已安装的驱动器?
【4月更文挑战第28天】在 Linux 中,了解已安装驱动器是系统管理的关键。本文介绍了三种方法:1) 使用 `lsblk` 命令显示设备名、大小和类型;2) `fdisk -l` 命令提供详细分区信息;3) `gnome-disks` 等系统管理工具展示驱动器信息。此外,还讨论了驱动器类型识别、挂载点概念及其应用。通过这些方法,用户能有效地监控和管理 Linux 系统中的驱动器。
|
23天前
|
Linux Go
Linux命令Top 100驱动人生! 面试必备
探索Linux命令不再迷茫!本文分10部分详解20个基础命令,带你由浅入深掌握文件、目录管理和文本处理。 [1]: <https://cloud.tencent.com/developer/article/2396114> [2]: <https://pan.quark.cn/s/865a0bbd5720> [3]: <https://yv4kfv1n3j.feishu.cn/docx/MRyxdaqz8ow5RjxyL1ucrvOYnnH>
73 0
|
1月前
|
Linux
Linux驱动运行灯 Heartbeat
Linux驱动运行灯 Heartbeat
16 0
|
2月前
|
Linux
Linux内核中USB设备驱动实现
Linux内核中USB设备驱动实现
28 0
|
2月前
|
编解码 Linux 对象存储
Linux系统中内核音频驱动实现
Linux系统中内核音频驱动实现
84 2