【技术实现步骤摘要】
一种用于资源受限平台的应用重定位方法
本公开涉及嵌入式领域和实时操作系统领域,具体而言是指涉及一种用于资源受限平台的应用重定位方法。
技术介绍
传统的应用重定位方法,都是基于解析ELF文件,并将其安装一定的格式,由系统加载到内存中运行的。要实现这种方式的重定位,需要保证ELF中一定要保留足够的信息,能够让系统从中找到需要的信息,如:程序入口、数据段起始地址等。这样也就意味着ELF文件势必会比可执行镜像文件BIN大很多,造成资源的浪费。但是,如果我们可以通过某种方法,将应用地址的重定位移到应用内部,让应用在启动的时候,根据本身所处位置,动态的完成自身数据地址的重定位。通过这样的机制,应用将被允许编译成一个可执行的镜像文件BIN,因为,通过这种机制,系统在加载应用时就不需要解析应用了,只要分配好资源之后跳转到应用就可以了。这就降低了系统加载应用的难度,而且,通过这种方式应用文件也不需要保留本该包含在ELF文件中的字段,减少了应用的体积,达到减少系统资源占用的目的。
技术实现思路
本专利技术所要解决的技 ...
【技术保护点】
1.一种用于资源受限平台的应用重定位方法,其特征在于,把实际预分配好的RAM地址空间通过通用寄存器传递给应用,然后在应用启动到进入程序入口main之前,根据实际RAM地址、应用的实际运行地址,利用TEXT单元中的重定位单元修正GOT表单元以及DATA单元中被REL表单元指向的数据,完成应用的重定位。/n
【技术特征摘要】
1.一种用于资源受限平台的应用重定位方法,其特征在于,把实际预分配好的RAM地址空间通过通用寄存器传递给应用,然后在应用启动到进入程序入口main之前,根据实际RAM地址、应用的实际运行地址,利用TEXT单元中的重定位单元修正GOT表单元以及DATA单元中被REL表单元指向的数据,完成应用的重定位。
2.根据权利要求1所述一种用于资源受限平台的应用重定位方法,其特征在于,把实际预分配好的RAM地址空间通过通用寄存器传递给应用,是在系统加载应用的时候进行的。
3.根据权利要求1所述一种用于资源受限平台的应用重定位方法,其特征在于,应用的实际运行地址是在完成应用加载进入应用运行空间之后通过伪指令ADR获得的。
4.根据权利要求1所述一种用于资源受限平台的应用重定位方法,其特征在于,重定位单元是真正执行数据地址重定位的代码,属于TEXT单元的一部分。
5.根据权利要求1所述一...
【专利技术属性】
技术研发人员:郭占鑫,张俊,陈庭伟,
申请(专利权)人:上海睿赛德电子科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。