[发明专利]一种基于ARM体系的应用程序加载系统及加载方法有效
申请号: | 200910147217.4 | 申请日: | 2009-06-08 |
公开(公告)号: | CN101582040A | 公开(公告)日: | 2009-11-18 |
发明(设计)人: | 张宗楚;路红敏 | 申请(专利权)人: | 深圳市五巨科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京连和连知识产权代理有限公司 | 代理人: | 郑 光 |
地址: | 518040广东省深圳市福田*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 arm 体系 应用程序 加载 系统 方法 | ||
1.一种基于ARM体系的应用程序加载方法,包括:
步骤1、采用应用程序开发包开发应用程序,并指定应用程序的只读 位置无关ROPI、读写位置无关RWPI、映像平面布局方式选项,并设置映 像文件起始符号为映像入口;并在读写位置无关RWPI段中设定一寄存器 作为静态基址寄存器;
步骤2、加载器模块分配载入缓冲区,并将应用程序的映像文件数据 复制到载入缓冲区中;
步骤3、加载器模块执行应用程序映像入口,该映像入口即为映像文 件起始符号;加载器模块跳转到载入缓冲区首地址;
映像入口获取应用程序映像文件的只读RO段大小、读写RW段偏移 量、读写RW段大小和零初始ZI段大小参数后,调用环境建立函数;
环境建立函数为应用程序映像文件零初始ZI段分配运行空间,并初 始化静态基址寄存器;对于静态基址寄存器赋值的方式为:环境建立函数 根据映像入口传递的读写RW偏移量信息结合映像载入缓冲区首地址,对 静态基址寄存赋值;
接口虚拟表初始化函数对适配层模块的接口虚拟表进行初始化,填写 适配层模块需要导出的各接口函数地址;
将映像入口传递的接口层模块的接口虚拟表指针赋值,使其指向适配 层各模块的接口虚拟表头节点,完成适配层模块和接口层模块的对接;
步骤4、映像入口执行应用程序主函数。
2.一种实现权利要求1所述的方法的基于ARM体系的应用程序加 载系统,其特征在于,包括接口层模块、适配层模块、加载器模块;所述 接口层模块对所述适配层模块提供的接口进一步封装,以便应用程序的开 发,并为应用程序提供编程接口,保证各类应用程序的平台无关性;
所述加载器模块分配载入缓冲区,并将应用程序的映像文件数据复制 到载入缓冲区中;执行应用程序映像入口,该映像入口即为映像文件起始 符号;加载器模块跳转到载入缓冲区首地址;映像入口获取应用程序映像 文件的只读RO段大小、读写RW段偏移量、读写RW段大小和零初始 ZI段大小参数后,调用环境建立函数;环境建立函数为应用程序映像文件 零初始ZI段分配运行空间,并初始化静态基址寄存器;对于静态基址寄 存器赋值的方式为:环境建立函数根据映像入口传递的读写RW偏移量信 息结合映像载入缓冲区首地址,对静态基址寄存赋值;所述接口虚拟表初 始化函数对适配层模块的接口虚拟表进行初始化,填写适配层模块需要导 出的各接口函数地址;将映像入口传递的接口层模块的接口虚拟表指针赋 值,使其指向适配层各模块的接口虚拟表头节点,完成适配层模块和接口 层模块的对接;
所述适配层模块提供与所述接口层模块的接口,以及与移动终端系统 的接口;
所述适配层模块包括环境建立函数子模块,所述环境建立子模块读取 应用程序映像的配置参数后,建立应用程序运行环境;
所述适配层模块还包括接口虚拟表初始化函数子模块,所述接口虚拟 表初始化函数子模块根据所述应用程序映像的配置参数,对用于记录接口 层模块与适配层模块接口地址的接口虚拟表进行初始化,以完成适配层模 块和接口层模块的对接;
所述环境建立函数子模块内存储有环境建立函数,由映像入口调用该 环境建立函数建立应用程序运行环境;
所述接口虚拟表初始化函数子模块内存储有接口虚拟表初始化函数, 由映像入口调用接口虚拟表初始化函数,对用于记录接口层模块与适配层 模块接口地址的接口虚拟表进行初始化,以完成适配层模块和接口层模块 的对接;
所述环境建立函数子模块和所述接口虚拟表初始化函数子模块设置 于所述适配层模块内。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市五巨科技有限公司,未经深圳市五巨科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910147217.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:炭罐控制阀保护滤网装置
- 下一篇:方钻杆多功能自动防漏阀