[发明专利]一种用于资源受限平台的应用重定位方法在审
申请号: | 202010834639.5 | 申请日: | 2020-08-18 |
公开(公告)号: | CN111984411A | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 郭占鑫;张俊;陈庭伟 | 申请(专利权)人: | 上海睿赛德电子科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 成都顶峰专利事务所(普通合伙) 51224 | 代理人: | 匡睿 |
地址: | 200000 上海市浦东新区中国*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 资源 受限 平台 应用 定位 方法 | ||
1.一种用于资源受限平台的应用重定位方法,其特征在于,把实际预分配好的RAM地址空间通过通用寄存器传递给应用,然后在应用启动到进入程序入口main之前,根据实际RAM地址、应用的实际运行地址,利用TEXT单元中的重定位单元修正GOT表单元以及DATA单元中被REL表单元指向的数据,完成应用的重定位。
2.根据权利要求1所述一种用于资源受限平台的应用重定位方法,其特征在于,把实际预分配好的RAM地址空间通过通用寄存器传递给应用,是在系统加载应用的时候进行的。
3.根据权利要求1所述一种用于资源受限平台的应用重定位方法,其特征在于,应用的实际运行地址是在完成应用加载进入应用运行空间之后通过伪指令ADR获得的。
4.根据权利要求1所述一种用于资源受限平台的应用重定位方法,其特征在于,重定位单元是真正执行数据地址重定位的代码,属于TEXT单元的一部分。
5.根据权利要求1所述一种用于资源受限平台的应用重定位方法,其特征在于,重定位单元开始修正GOT表单元以及DATA单元中被REL表单元指向的数据,是在完成应用加载进入应用运行空间之后进行的,同时也是在应用进入程序入口main之前完成的。
6.根据权利要求1所述一种用于资源受限平台的应用重定位方法,其特征在于,修正GOT表单元以及DATA单元中被REL表单元指向的数据时,将其与DATA单元的偏移作比较,如小于DATA单元的偏移,则说明存储的地址本身是指向TEXT单元的数据,将减去TEXT单元的偏移并加上代码段的实际运行地址将其修正;如大于DATA单元偏移,则说明存储的地址本身是指向DATA单元的数据,将减去DATA单元偏移并加上预分配的RAM空间起始地址将其修正。
7.根据权利要求6所述一种用于资源受限平台的应用重定位方法,其特征在于,DATA单元、TEXT单元、GOT表单元、REL表单元的偏移是根据应用链接时定义在链接脚本中的符号获取的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海睿赛德电子科技有限公司,未经上海睿赛德电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010834639.5/1.html,转载请声明来源钻瓜专利网。