0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

驱动动模块之间如何更改模块挂载顺序

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:Jasonangel 2023-09-28 16:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

如果驱动模块之间有依赖,需要更改模块挂载顺序,有三种方式:

1、增加一个优先级,比如 8。或者把自己的驱动模块声明成其他优先级,也就是不用 module_init 去声明,可以用 fs_initcall
去声明。

2、对于同一优先级的驱动模块,可以在 Makefile 中更改其编译和链接的顺序,就会切换其挂载的顺序。(静态编译)

3、动态加载驱动模块:等 Linux 系统起来以后,手动执行 insmod 和 rmmod
即可挂载和卸载驱动,顺序自己决定。测试成功后,再搞到内核中静态编译。

虽然可以更改挂载顺序,但还是希望大家写驱动模块的时候,能够做到高内聚、低耦合,自己的模块最好不要依赖其他模块,防止其他模块加载失败导致自己的模块不可用。

如何看驱动挂载顺序?有两种方式:

1、找到编译后的 Linux 内核源码,根目录下面有个 System.map 文件,这里记载了 Linux
内核所做的所有的事情,是按顺序记载的(也有可能在其他输出目录)。

一共有三列:地址、区域、操作。在操作中我们可以看到我们声明的驱动的名字。

图片

2、如果你驱动模块有加一些打印,可以直接看 log。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2822

    浏览量

    52798
  • 驱动
    +关注

    关注

    12

    文章

    1928

    浏览量

    88204
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217977
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux模块相关命令 Linux驱动模块的编写与挂载

    Linux模块相关命令 Linux驱动模块的编写与挂载
    发表于 10-01 12:20 938次阅读
    Linux<b class='flag-5'>模块</b>相关命令 Linux<b class='flag-5'>驱动</b><b class='flag-5'>模块</b>的编写与<b class='flag-5'>挂载</b>

    如何将SD卡驱动模块挂载至外设总线

    我们的队伍编号是CICC2962,这是我们第五次分享,接下来我将分享一下如何将SD卡驱动模块挂载至外设总线上,并且发送一条读指令。 这是外设总线上被保留的接口信号,我们将所写的代码与之相连接
    发表于 10-30 06:12

    电光调Q模块调Q驱动模块电光模块

    电源驱动模块
    深圳艾克思科技有限责任公司
    发布于 :2023年11月02日 16:09:12

    DM368板子DDR大小更改模块挂载失败

    打开/dev/cmem设备失败。想请教下,DDR大小更改后,上面四个模块为什么挂载失败?是不是因为内存大小更改后,需要重新配置cmem模块
    发表于 02-21 12:44

    高亮度LED驱动动态及电路集锦

    高亮度LED驱动动态及电路集锦高亮度LED驱动动态及电路集锦
    发表于 02-25 15:57 10次下载

    单模光模块和多模光模块之间的区别

    随着光通讯、数据中心的发展,光模块的应用越来越广泛。而光模块类型、传输数据也是越来越多样化。40G光模块、100G光模块;单模光模块、多模光
    发表于 05-03 10:36 3.3w次阅读

    如何实现模块模块之间点对点的通信

      ESP8266有三种模式可以选择,AP/STA/AP+STA,下面我们要实现的是模块模块之间点对点的通信。
    的头像 发表于 02-28 10:48 4942次阅读

    如何使用Arduino轻松更改蓝牙模块名称

    电子发烧友网站提供《如何使用Arduino轻松更改蓝牙模块名称.zip》资料免费下载
    发表于 12-16 10:33 0次下载
    如何使用Arduino轻松<b class='flag-5'>更改</b>蓝牙<b class='flag-5'>模块</b>名称

    更改HC 05蓝牙模块的名称和密码

    电子发烧友网站提供《更改HC 05蓝牙模块的名称和密码.zip》资料免费下载
    发表于 02-02 14:22 0次下载
    <b class='flag-5'>更改</b>HC 05蓝牙<b class='flag-5'>模块</b>的名称和密码

    电机驱动模块有哪些

    电机驱动模块有哪些 电机的驱动模块通常有晶体管模块、晶闸管(可控硅)模块、IGBT
    发表于 05-08 14:50 4060次阅读

    如何使用M5StickC ESP32模块通过按钮更改LED亮度

    电子发烧友网站提供《如何使用M5StickC ESP32模块通过按钮更改LED亮度.zip》资料免费下载
    发表于 06-29 11:27 0次下载
    如何使用M5StickC ESP32<b class='flag-5'>模块</b>通过按钮<b class='flag-5'>更改</b>LED亮度

    驱动模块的作用

    驱动模块的作用  驱动模块是一种非常常见的软件模块,用于连接操作系统和硬件设备之间的接口。通常,
    的头像 发表于 08-29 10:06 4997次阅读

    博途案例:模块更新与接口更改的实现方法

    由于模块上的接口更改,翻译时不一定会生成错误消息。 因此,文档“jyyy_mm_tt SPS_HMI_Info_VASSV6”中描述了包括更改在内的受影响模块。 “接口匹配”视图比
    的头像 发表于 10-26 10:51 5366次阅读
    博途案例:<b class='flag-5'>模块</b>更新与接口<b class='flag-5'>更改</b>的实现方法

    单模蓝牙模块和双模蓝牙模块指的是什么意思?它们之间有什么区别呢

    单模蓝牙模块和双模蓝牙模块指的是什么意思?它们之间有什么区别呢  单模蓝牙模块和双模蓝牙模块是指用于无线通信的蓝牙
    的头像 发表于 01-15 14:59 7874次阅读

    触发开关驱动模块怎么接线

    触发开关驱动模块的接线是一个涉及电子工程和电气工程的复杂过程,需要对电路设计、电子元件以及安全操作有深入的了解。 触发开关驱动模块接线概述 理解触发开关
    的头像 发表于 09-23 09:43 1249次阅读