如果驱动模块之间有依赖,需要更改模块挂载顺序,有三种方式:
1、增加一个优先级,比如 8。或者把自己的驱动模块声明成其他优先级,也就是不用 module_init 去声明,可以用 fs_initcall
去声明。
2、对于同一优先级的驱动模块,可以在 Makefile 中更改其编译和链接的顺序,就会切换其挂载的顺序。(静态编译)
3、动态加载驱动模块:等 Linux 系统起来以后,手动执行 insmod 和 rmmod
即可挂载和卸载驱动,顺序自己决定。测试成功后,再搞到内核中静态编译。
虽然可以更改挂载顺序,但还是希望大家写驱动模块的时候,能够做到高内聚、低耦合,自己的模块最好不要依赖其他模块,防止其他模块加载失败导致自己的模块不可用。
如何看驱动挂载顺序?有两种方式:
1、找到编译后的 Linux 内核源码,根目录下面有个 System.map 文件,这里记载了 Linux
内核所做的所有的事情,是按顺序记载的(也有可能在其他输出目录)。
一共有三列:地址、区域、操作。在操作中我们可以看到我们声明的驱动的名字。
2、如果你驱动模块有加一些打印,可以直接看 log。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
模块
+关注
关注
7文章
2056浏览量
45712 -
驱动
+关注
关注
11文章
1613浏览量
83833 -
Linux
+关注
关注
85文章
10263浏览量
205820
发布评论请先 登录
相关推荐
单模光模块和多模光模块之间的区别
模块的应用越来越广泛。而光模块类型、传输数据也是越来越多样化。40G光模块、100G光模块;单模光模块、多模光模块等等。今天,给大家介绍的是单模光模块和多模光模块,这两者之间的区别是什么。
发表于 05-03 10:36
•2.9w次阅读
一文带你了解电机驱动芯片和电机驱动模块
驱动芯片和电机驱动模块? 电机驱动芯片是集成有CMOS 控制电路和DMOS 功率器件的芯片,利用它可以与主处理器、电机和增量型编码器构成一个完整的运动控制系统。可以用来驱动直流电机、步进
GPRS模块和GSM模块之间的区别
模块是将GSM射频芯片,基带处理芯片,存储器,放大器设备等集成在基板上的功能模块,以提供独立的OS,GSM射频处理,基带处理和标准接口。
电机驱动模块有哪些
驱动模块有哪些 电机的驱动模块通常有晶体管模块、晶闸管(可控硅)模块、IGBT模块,当然对于小型微特电机也用集成驱动模块。 驱动电路的基本任务,就是将信息电子电路传来的信号按照其控制目标的要求
发表于 05-08 14:50
•989次阅读
驱动模块的作用
驱动模块的作用 驱动模块是一种非常常见的软件模块,用于连接操作系统和硬件设备之间的接口。通常,驱动程序充当操作系统和硬件之间的翻译。他们将来自操作系统的命令翻译为硬件可以理解的指令,并将来自硬件
评论