[发明专利]一种应用程序移植方法及装置在审
申请号: | 201911063301.8 | 申请日: | 2019-10-31 |
公开(公告)号: | CN112748940A | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 徐征 | 申请(专利权)人: | 帕克西铁道电子信息系统(上海)有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 宣慧兰 |
地址: | 201108 上海市闵*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 移植 方法 装置 | ||
本发明涉及一种应用程序移植方法及装置,其中方法用于将Linux2.4上的程序移植至Linux2.6上,包括:步骤S1:载入应用程序的源代码;步骤S2:在源代码中搜索出头文件linux/module.h移除,并新增相应的头文件;步骤S3:在源代码中搜索出函数SET_MODULE_OWNER()并更新;步骤S4:替换宏_IOR和_IOW的参数;步骤S5:移除第一指定列表中的宏;步骤S6:在源代码中搜索出函数MODULE_PARM()并更新;步骤S7:在源代码中搜索出tm_remap()并更新,以及删除对应的IO映射代码;步骤S8:在源代码中搜索出writew()、readw()和restore_flags()、save_flags()cli(),并更新;步骤S9:在源代码中搜索出align并更新;步骤S10:为初始化的数字变量赋0。与现有技术相比,本发明具有加移植效率等优点。
技术领域
本发明涉及一种计算机技术,尤其是涉及一种应用程序移植方法及装置。
背景技术
由于硬件的更新换代,硬件厂商会停止生产过去的硬件,用户只能寻找新的硬件来代替,而新的硬件往往需要新的操作系统来识别,这样会造成运行在旧操作系统上的应用程序无法运行
相比于过去的DOS操作系统,如今的操作系统把系统代码分为内核态和用户态两种。内核态的代码主要与操作硬件相关,这里的代码更严格。用户态的代码主要为纯软件的应用层代码。内核态和用户态分开的好处在于用户态代码不可直接操作硬件,降低了系统崩溃的可能。但是这个过程是一步一步发展的,在Linux2.4时代,虽然内核态和用户态也是分开的但是仍然有一些关联。而到了Linux2.6时代,则做的比较彻底。当有一款基于Linux2.4开发的,并且很多功能在驱动层实现的软件需要从内核为Linux2.4的设备移植到内核为Linux2.6的设备时,并不是通过简单的重新编译就能成功的。本方法基于一次从Linux2.4到Linux2.6的移植工作,具有一定的通用性。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种应用程序移植方法及装置。
本发明的目的可以通过以下技术方案来实现:
一种应用程序移植方法,该方法用于将Linux2.4上的程序移植至Linux2.6上,包括:
步骤S1:载入应用程序的源代码;
步骤S2:在源代码中搜索出头文件linux/module.h移除,并新增相应的头文件;
步骤S3:在源代码中搜索出函数SET_MODULE_OWNER()并更新;
步骤S4:替换宏_IOR和_IOW的参数;
步骤S5:移除第一指定列表中的宏;
步骤S6:在源代码中搜索出函数MODULE_PARM()并更新;
步骤S7:在源代码中搜索出tm_remap()并更新,以及删除对应的IO映射代码;
步骤S8:在源代码中搜索出writew()、readw()和restore_flags()、save_flags()cli(),并更新
步骤S9:在源代码中搜索出align并更新;
步骤S10:为初始化的数字变量赋0。
所述步骤S3具体为:增加devNo和cdev的定义,以替代函数SET_MODULE_OWNER()。
所述步骤S5中第一指定列表中的宏包括:
EXPORT_NO_SYMBOLS,
macro MOD_INC_USE_COUNT,
MOD_DEC_USE_COUNT。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于帕克西铁道电子信息系统(上海)有限公司,未经帕克西铁道电子信息系统(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911063301.8/2.html,转载请声明来源钻瓜专利网。