我有一个动态加载的字符驱动程序模块,例如主编号X,它读取串口流量,然后应用程序正在使用带有Major X的/ dev / node条目处理串口流量。
我想更新驱动程序模块,以便新模块应获取相同的主编号X,并使用与Major X相同的/ dev节点条目开始处理相同的串行端口。
在新模块成功加载并开始接管旧模块处理工作之前,不允许使用rmmod卸载旧驱动程序模块。
应该没有重新启动,升级到新模块将使旧驱动程序模块的停机时间最短。
应该采取什么措施?
答案 0 :(得分:0)
我会查看设备驱动程序框架并使用元总线,设备和驱动程序架构来注册您的驱动程序,使虚拟驱动程序位于串行驱动程序之上。
您的应用程序向虚拟驱动程序注册。
您实现了虚拟驱动程序的逻辑,以接受新的真实驱动程序的注册。
答案 1 :(得分:0)
基本上,使用modprobe卸载他的mod,在/ lib / modules / YourKernel /中添加/更新mod,使用modprobe重新加载mod。记得使用CURRENT版本的内核头编译mod!