[发明专利]应用加载方法和装置有效
申请号: | 201510994261.4 | 申请日: | 2015-12-25 |
公开(公告)号: | CN105426223B | 公开(公告)日: | 2019-01-04 |
发明(设计)人: | 潘海军;周华;段炼;王庆兴;张国华;苏皓 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F12/02 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 加载 方法 装置 | ||
本申请公开了应用加载方法和装置。该方法的一具体实施方式包括:在可编程只读存储器中选取用于存储应用的可执行文件中的预设数据段的存储空间;将预设数据段拷贝至内存,以及基于存储空间的起始地址对预设数据段进行重定位;将经重定位的预设数据段拷贝至存储空间。实现了在内存中对可执行文件的代码部分进行重定位,然后将重定位后的代码部分写回到可编程只读存储器中,从而仅需一次针对存储块的擦除操作即可完成代码部分的重定位,减少了应用的加载过程中的系统开销以及降低对可编程只读存储器的损耗。
技术领域
本申请涉及计算机领域,具体涉及应用领域,尤其涉及应用加载方法和装置。
背景技术
在嵌入式系统中,在对应用进行加载时,通常采用的方式为:在闪存中存储可执行文件的二进制代码,并在闪存上直接运行指令。在应用加载过程中,需要对应用的汇编代码中的符号进行重定位,使得符号具有绝对地址,以对应用进行加载。
然而,当采用上述方式对应用进行加载时,每一次针对符号的重定位均会对应一次对该符号所在内存的整个存储块的擦除操作,进而极大地增加系统开销以及对增加闪存的损耗。
发明内容
本申请提供了应用加载方法和装置,用于解决上述背景技术部分存在的技术问题。
第一方面,本申请提供了应用加载方法,该方法包括:在可编程只读存储器中选取用于存储应用的可执行文件中的预设数据段的存储空间,其中,预设数据段为应用被加载时,被加载在可编程只读存储器中执行的数据段;将预设数据段拷贝至内存,以及基于存储空间的起始地址对预设数据段进行重定位;将经重定位的预设数据段拷贝至存储空间,以对应用进行加载。
第二方面,本申请提供了应用加载装置,该装置包括:选取单元,配置用于在可编程只读存储器中选取用于存储应用的可执行文件中的预设数据段的存储空间,其中,预设数据段为应用被加载时,被加载在可编程只读存储器中执行的数据段;重定位单元,配置用于将预设数据段拷贝至内存,以及基于存储空间的起始地址对预设数据段进行重定位;加载单元,配置用于将经重定位的预设数据段拷贝至存储空间,以对应用进行加载。
本申请提供的应用加载方法和装置,通过在可编程只读存储器中选取用于存储应用的可执行文件中的预设数据段的存储空间;将预设数据段拷贝至内存,以及基于存储空间的起始地址对预设数据段进行重定位;将经重定位的预设数据段拷贝至存储空间。实现了在内存中对可执行文件的代码部分进行重定位,然后将重定位后的代码部分写回到可编程只读存储器中,从而仅需一次针对存储块的擦除操作即可完成代码部分的重定位,减少了应用的加载过程中的系统开销以及降低对可编程只读存储器的损耗。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2示出了根据本申请的应用加载方法的一个实施例的流程图;
图3示出了本实施例中的对应用进行加载的一个示例性原理图;
图4示出了本申请中的应用加载方法的一个示例性流程图;
图5示出了根据本申请的应用加载装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510994261.4/2.html,转载请声明来源钻瓜专利网。