在嵌入式Linux在开发过程中遇到相关联的多个模块加载怎么办?

在嵌入式Linux在开发过程中遇到相关联的多个模块加载怎么办?,第1张

nsmod和rmmod分别用于加载和卸载模块,但是每次只能加载/卸载一个模块,如果一个模块依赖于多个模块,则需要进行多次 *** 作,比较繁琐。modprobe命令集加载/卸载功能于一身,并且可以自动解决模块的依赖关系,将某个模块所依赖的其他模块全部加载。

用法:#modprobe 【选项】 模块 【符号=值】

同时modprobe支持很多选项

你也可以看一下ZLG的嵌入式Linux开发教程第64页,写得非常详细,我觉得很适合入门。

linux下的文件的 *** 作方式都是相同的,不要求后缀名,普通文件当然没什么好说的了。

模块是由编译后的内核生成的,也可以自己生成,自己加载。比如说系统启动时加载的usb模块有 usbcore.o、usb-uhci.o、usb-ohci.o、 uhci.o、ehci-hcd.o(usb2.0)、hid.o( USB人机界面设备)、usb-storage.o (U盘驱动),最后一个就是具体的设备驱动程序模块,驱动程序也是以模块的方式加载到系统中,然后才工作的。linux的系统加载了非常多的模块,很多模块在不用的时候都是处于挂起状态,是不占用内存和资源的,用的时候才去唤醒。

linux下 *** 作设备是通过设备文件结点来 *** 作的,/dev下面的东西。应用程序 *** 作这些文件结点,就像 *** 作普通文件一样进行来回的读/写,剩下的事情都是由文件结点具体对应的设备驱动模块完成的,文件结点和设备驱动之间的关系由一个链表来记录。

典型的嵌入式系统,软件部分从下到上,分别是boot,kernel,rootfs,fsimg和上层应用。

起到的作用分别是,引导内核,启动内核,挂载根文件系统,挂载实际文件系统,开启上层应用主循环。

你问的这些问题,每一点都可以单独拿出来,长篇大论的讲很久了。建议去网上先看相关的资料。贪多求快是不好的,一个知识点一个知识点的掌握。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7412235.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-05
下一篇2023-04-05

发表评论

登录后才能评论

评论列表(0条)

    保存