当前位置:首页 » 操作系统 » 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()只负责将设备添加到总线的设备链表上。

热点内容
淘淘源码 发布:2025-07-15 14:12:07 浏览:881
自己的主机可以搭建服务器吗 发布:2025-07-15 14:09:58 浏览:775
atilinux 发布:2025-07-15 14:01:42 浏览:822
硬盘缓存越大越好 发布:2025-07-15 13:53:22 浏览:387
苹果六怎么设置密码锁 发布:2025-07-15 13:43:28 浏览:33
世界上最强的电脑服务器 发布:2025-07-15 13:41:13 浏览:401
pythonwindows安装 发布:2025-07-15 13:40:59 浏览:558
存储过程能写exp语句吗 发布:2025-07-15 13:40:13 浏览:883
手机漫出算法 发布:2025-07-15 13:40:03 浏览:785
易语言管理系统源码 发布:2025-07-15 13:11:49 浏览:948