[发明专利]基于ARM芯片的多个程序段同时运行的动态加载方法无效
申请号: | 201210022599.X | 申请日: | 2012-02-01 |
公开(公告)号: | CN103246524A | 公开(公告)日: | 2013-08-14 |
发明(设计)人: | 冯嵩 | 申请(专利权)人: | 上海野火网络科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/45 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 赵志远 |
地址: | 200082 上海市虹*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于ARM芯片的多个程序段同时运行的动态加载方法,包括以下步骤:1)以指定源文件的用户自定义函数为入口对源文件进行编译,并对编译结果进行两次链接处理,得到两个可执行文件,分别为startup_0.elf和startup_1.elf;2)对得到的两个可执行文件进行比较分析后得到重定位表relocation.lis;3)将其中一个可执行文件startup_0.elf和重定位表relocation.lis压缩并打包,生成动态程序startup.bin;4)将动态程序startup.bin导入智能移动终端后,所述的智能移动终端中的ARM芯片将动态程序startup.bin中的startup_0.elf解包并分析,建立该动态程序startup.bin的RO、RW、ZI段的内容。与现有技术相比,本发明具有稳定地实现了多程序任意时刻同时运行等优点。 | ||
搜索关键词: | 基于 arm 芯片 程序 同时 运行 动态 加载 方法 | ||
【主权项】:
一种基于ARM芯片的多个程序段同时运行的动态加载方法,其特征在于,包括以下步骤:1)以指定源文件的用户自定义函数为入口对源文件进行编译,并对编译结果进行两次链接处理,得到两个可执行文件,分别为startup_0.elf和startup_1.elf;2)对得到的两个可执行文件进行比较分析后得到重定位表relocation.lis;3)将其中一个可执行文件startup_0.elf和重定位表relocation.lis压缩并打包,生成动态程序startup.bin;4)将动态程序startup.bin导入智能移动终端后,所述的智能移动终端中的ARM芯片将动态程序startup.bin中的startup_0.elf解包并分析,建立该动态程序startup.bin的RO、RW、ZI段的内容;5)将动态程序startup.bin中relocation.lis解包,并根据该文件信息,结合RO、RW+ZI段的首地址,针对RO段进行重定位;6)将RO段首地址转换为步骤1)中所指定的用户自定义函数类型的函数指针,直接调用该函数指针,完成动态加载过程。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海野火网络科技有限公司,未经上海野火网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210022599.X/,转载请声明来源钻瓜专利网。