[发明专利]应用加载方法和装置有效
申请号: | 201510994261.4 | 申请日: | 2015-12-25 |
公开(公告)号: | CN105426223B | 公开(公告)日: | 2019-01-04 |
发明(设计)人: | 潘海军;周华;段炼;王庆兴;张国华;苏皓 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F12/02 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 加载 方法 装置 | ||
1.一种应用加载方法,其特征在于,所述方法包括:
在可编程只读存储器中选取用于存储应用的可执行文件中的预设数据段的存储空间,其中,预设数据段为应用被加载时,被加载在所述可编程只读存储器中执行的数据段;
将所述预设数据段拷贝至内存,以及基于所述存储空间的起始地址对所述预设数据段进行重定位;
将经重定位的所述预设数据段拷贝至所述存储空间,以对应用进行加载。
2.根据权利要求1所述的方法,其特征在于,所述可编程只读存储器为闪存存储器。
3.根据权利要求1-2之一所述的方法,其特征在于,所述可执行文件为ELF文件,所述预设数据段包括:机器指令数据段、只读数据数据段;以及
基于所述存储空间的起始地址对所述预设数据段进行重定位包括:
在所述ELF文件的机器指令地址偏移数据段中查找机器指令数据段中的机器指令的操作数对应的地址偏移量;
根据所述起始地址和所述地址偏移量,计算所述操作数对应的加载地址,以对机器指令数据段进行重定位;
在所述ELF文件的只读数据地址偏移数据段中查找只读数据数据段中的只读数据对应的地址偏移量;
根据所述起始地址和所述只读数据数据段中的只读数据对应的地址偏移量,计算所述只读数据对应的加载地址,以对只读数据数据段进行重定位。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述ELF文件中的未初始化全局变量数据段和已初始化全局变量数据段拷贝至内存;
将未初始化全局变量数据段对应的存储空间中的存储值设置为0;
从所述ELF文件的已初始化全局变量地址偏移数据段中查找出已初始化全局变量数据段中的已初始化全局变量对应的地址偏移量;
根据已初始化全局变量数据段在内存中的起始地址以及所述已初始化全局变量数据段中的已初始化全局变量对应的地址偏移量,计算已初始化全局变量的加载地址,以对已初始化全局变量数据段进行重定位。
5.根据权利要求4所述的方法,其特征在于,在将经重定位的所述预设数据段拷贝至所述存储空间之后,所述方法还包括:
在可编程只读存储器中存储所述存储空间的起始地址,以使得再次对应用进行加载时,利用所述存储空间的起始地址查找出已存储在可编程只读存储器中的经重定位的预设数据段并对预设数据段进行加载。
6.一种应用加载装置,其特征在于,所述装置包括:
选取单元,配置用于在可编程只读存储器中选取用于存储应用的可执行文件中的预设数据段的存储空间,其中,预设数据段为应用被加载时,被加载在所述可编程只读存储器中执行的数据段;
重定位单元,配置用于将所述预设数据段拷贝至内存,以及基于所述存储空间的起始地址对所述预设数据段进行重定位;
加载单元,配置用于将经重定位的所述预设数据段拷贝至所述存储空间,以对应用进行加载。
7.根据权利要求6所述的装置,其特征在于,所述可编程只读存储器为闪存存储器。
8.根据权利要求6-7之一所述的装置,其特征在于,所述重定位单元包括:
第一查找子单元,配置用于当所述可执行文件为ELF文件,所述预设数据段包括:机器指令数据段、只读数据数据段时,在所述ELF文件的机器指令地址偏移数据段中查找机器指令数据段中的机器指令的操作数对应的地址偏移量;
第一计算子单元,配置用于根据所述起始地址和所述地址偏移量,计算所述操作数对应的加载地址,以对机器指令数据段进行重定位;
第二查找子单元,配置用于在所述ELF文件的只读数据地址偏移数据段中查找只读数据数据段中的只读数据对应的地址偏移量;
第二计算子单元,配置用于根据所述起始地址和所述只读数据数据段中的只读数据对应的地址偏移量,计算所述只读数据对应的加载地址,以对只读数据数据段进行重定位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510994261.4/1.html,转载请声明来源钻瓜专利网。