[发明专利]一种Linux驱动加载程序的方法及装置在审
申请号: | 201810576272.4 | 申请日: | 2018-06-06 |
公开(公告)号: | CN110569068A | 公开(公告)日: | 2019-12-13 |
发明(设计)人: | 杜永贵;陈志列 | 申请(专利权)人: | 南通研祥智能科技有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401 |
代理公司: | 11228 北京汇泽知识产权代理有限公司 | 代理人: | 张瑾 |
地址: | 226002 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 匹配模块 主程序 内核版本 驱动加载 驱动模块 驱动文件 运行系统 源码 返回 匹配 失败 打印 产品成本 版本信息 存储内核 开发周期 内核功能 配置文件 匹配成功 重复利用 加载 内核 调用 存储 驱动 检查 成功 | ||
本发明提供一种Linux驱动加载程序的方法及装置,所述方法包括:打开驱动文件;调用设置于insmod源码上的匹配模块;由匹配模块根据设置于insmod源码上并用于存储内核版本信息的配置文件,或根据驱动文件中所存储的内核版本信息对当前运行系统的内核版本信息进行匹配,如果匹配成功则执行下一步;如果匹配失败则匹配模块返回失败并由主程序打印错误;检查当前运行系统的内核是否包含驱动模块所需的内核功能模块,如果是,则匹配模块返回成功并由主程序加载驱动;如果否,则匹配模块返回失败并由主程序打印错误。本发明能够正确合理的重复利用已有驱动模块,加快开发周期,节省产品成本,提高所述Linux驱动加载程序的稳定性。
技术领域
本发明涉及嵌入式系统技术领域,尤其涉及一种Linux驱动加载程序的方法及装置。
背景技术
随着嵌入式行业的不断发展,Linux操作系统在嵌入式领域的使用越来越广泛,Linux内核的更新也随之不断加快。嵌入式行业,项目中经常需要做软件硬件的裁剪,由于目前Linux系统中,编译出来的驱动模块只能加载到对应的内核中,无法加载到其他版本或者其他配置的内核中,原因是insmod(加载模块:insert module)或modprobe(模块探测:module probe)程序加载驱动模块时做内核版本和内核配置的检查,这个检查目前是要求完全匹配的,检查不通过则抛出错误无法加载驱动。在实际项目开发中,只要内核版本或者配置稍有不一样,就必须得同时重新编译所有驱动模块,这给开发工作带来相当大的麻烦,特别是某些独立开发的硬件模块的驱动,重新编译驱动必须找硬件厂商拿到源码,然后重新在升级后的内核上编译驱动,进而造成开发工作量增大,而且增加产品的成本的问题。
发明内容
本发明提供的Linux驱动加载程序的方法及装置,能够正确合理的重复利用已有的驱动模块,加快开发的周期,节省产品的成本,提高所述Linux驱动加载程序的稳定性。
第一方面,本发明提供一种Linux驱动加载程序的方法,包括:
打开驱动文件;
调用设置于insmod源码上的匹配模块;
由所述匹配模块根据设置于insmod源码上并用于存储内核版本信息的配置文件,或根据驱动文件中所存储的内核版本信息对当前运行系统的内核版本信息进行匹配,如果匹配成功,则执行下一步;如果匹配失败,则匹配模块返回失败,并由主程序打印错误;
检查当前运行系统的内核是否包含驱动模块所需的内核功能模块,如果是,则匹配模块返回成功,并由主程序加载驱动;如果否,则匹配模块返回失败,并由主程序打印错误。
可选地,所述由所述匹配模块根据设置于insmod源码上并用于存储内核版本信息的配置文件,或者根据驱动文件中所存储的内核版本信息对当前运行系统的内核版本信息进行匹配包括:
由所述匹配模块读取当前内核版本信息;
打开所述配置文件;
当成功打开配置文件时,则提取配置文件中内核版本信息对应的列表,且判断得出当前内核版本信息不在列表中后对当前运行系统的内核版本信息进行匹配;
当打开配置文件失败时,则从驱动文件中读取编译驱动对应的内核版本信息,然后对当前运行系统的内核版本信息进行匹配。
可选地,在提取配置文件中内核版本信息对应的列表,且判断得出当前内核版本信息在列表中后,所述方法包括:
检查当前运行系统的内核是否包含驱动模块所需的内核功能模块,如果是,则匹配模块返回成功并加载驱动;如果否,则匹配模块返回失败,并由主程序打印错误。
可选地,所述配置文件中所存储的内核版本信息包括:驱动模块对应信息、驱动模块对应支持的内核版本信息和内核版本的升级信息中的一种或者任意组合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通研祥智能科技有限公司,未经南通研祥智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810576272.4/2.html,转载请声明来源钻瓜专利网。