gpt4 book ai didi

linux - 删除静态编译的设备驱动程序模块

转载 作者:太空狗 更新时间:2023-10-29 11:45:18 24 4
gpt4 key购买 nike

我用串行设备驱动程序静态编译了 linux 内核,即 obj-y。

现在我正在开发一个简单的串行驱动程序,我想测试它,但是由于模块是在内核启动时加载的,IO 端口区域(0x3f8 及以后)被注册到串行模块。我需要删除(取消注册)它,以便我可以将它分配给我的驱动程序。

那么,有什么方法可以删除静态链接的设备驱动程序吗?或者我应该重新编译整个内核:/

最佳答案

你应该重新编译整个内核并使这个驱动成为一个obj-m

加载后(通过 modprobe 自动完成或使用 insmod 手动完成),您可以删除它(使用 rmmod),修改代码,再次编译并再次加载。

当然,如果在驱动程序运行过程中有一些关键错误没有得到妥善处理,整个内核将处于不稳定状态,您将不得不重新启动(直到您修复导致此问题的原因)。

关于linux - 删除静态编译的设备驱动程序模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19727266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com