当前位置:首页 » 操作系统 » linux驱动自动加载

linux驱动自动加载

发布时间: 2023-12-25 22:29:31

1. linux系统中哪个命令可以用来加载驱动程序

在2.4内核中,加载驱动命令为:insmod ,删除模块为:rmmod;
在2.6以上内核中,除了insmod与rmmod外,加载命令还有modprobe;
insmod与modprobe不同之处:
insmod 绝对路径/××.o,而modprobe ××即可,不用加.ko或.o后缀,也不用加路径;最重要的一点是:modprobe同时会加载当前模块所依赖的其它模块;
lsmod查看当前加载到内核中的所有驱动模块,同时提供其它一些信息,比如其它模块是否在使用另一个模块。

2. Linux驱动程序有几种加载方式以及它们之间的区别

linux关于总线、设备、驱动的注册顺序
设备挂接到总线上时,与总线上的所有驱动进行匹配(用bus_type.match进行匹配),
如果匹配成功,则调用bus_type.probe或者driver.probe初始化该设备,挂接到总线上
如果匹配失败,则只是将该设备挂接到总线上。
驱动挂接到总线上时,与总线上的所有设备进行匹配(用bus_type.match进行匹配),
如果匹配成功,则调用bus_type.probe或者driver.probe初始化该设备;挂接到总线上
如果匹配失败,则只是将该驱动挂接到总线上。
需要重点关注的是总线的匹配函数match(),驱动的初始化函数probe()
1.
platform_bus_type--总线先被kenrel注册。
2.
系统初始化过程中调用platform_add_devices或者platform_device_register,将平台设备(platform
devices)注册到平台总线中(platform_bus_type)
3.
平台驱动(platform
driver)与平台设备(platform
device)的关联是在platform_driver_register或者driver_register中实现,一般这个函数在驱动的初始化过程调用。
通过这三步,就将平台总线,设备,驱动关联起来。
1.
platform
bus先被kenrel注册。
------------------------------------------------------
do_basic_setup()
-->-driver_init()
-->-platform_bus_init()-->bus_register()
2.
系统初始化过程中调用platform_add_devices或者platform_device_register,将平台设备(platform
devices)注册到平台总线中(platform_bus_type)
------------------------------------------------------
系统启动阶段,总线的驱动链表还是空的,所以启动阶段的platform_add_devices()只负责将设备添加到总线的设备链表上。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:714
制作脚本网站 发布:2025-10-20 08:17:34 浏览:980
python中的init方法 发布:2025-10-20 08:17:33 浏览:687
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:840
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:747
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1087
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:314
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:194
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:883
python股票数据获取 发布:2025-10-20 07:39:44 浏览:841