[发明专利]实现程序的下载删除的方法及系统有效
申请号: | 201510314171.6 | 申请日: | 2015-06-09 |
公开(公告)号: | CN104978221B | 公开(公告)日: | 2018-04-27 |
发明(设计)人: | 曹明革;何天翼;王丽丽 | 申请(专利权)人: | 北京远特科技股份有限公司 |
主分类号: | G06F8/61 | 分类号: | G06F8/61 |
代理公司: | 北京润泽恒知识产权代理有限公司11319 | 代理人: | 刘祥景 |
地址: | 100123 北京市朝阳区高井*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 程序 下载 删除 方法 系统 | ||
技术领域
本发明实施例涉及计算机软件领域,特别是涉及一种实现程序下载删除的方法及系统。
背景技术
在WindowsPC及LINUX嵌入式的系统平台下,使用C语言开发的应用或者插件模块可以以动态链接库的形式呈现在相应的操作系统上,可以非常灵活的在本地平台上“热插拔”。而此类动态链接库内的代码仅处于被编译状态,实际运行时的代码需要有一定处理能力的CPU动态链接后才可以执行,因此,上述系统对硬件的要求较高。而在处理能力有限的芯片平台,如arm7、Cortext-M3等,是不能通过上述方法实现对动态链接库的下载使用。
目前,通常在无MMU(内存管理单元,Memory Management Unit)的ARM系列芯片上的开发环境主要是基于KEIL、GCC、IAR。以KEIL的开发环境为例,在KEIL集成开发环境下对于动态程序的下载,是通过预先对动态程序对应的每个c文件进行编译,得到ELF(可执行连接格式,Executable and Linkable Format)文件,经过链接器将所有的ELF文件统一链接生成AXF(ARM Executable File)文件,提取AXF文件内的指令集信息即可得到直接下载到目标芯片上的bin文件。
上述方案中下载到目标芯片上的bin文件是在KEIL开发环境下经过编译、链接一站式完成的,该bin文件是与地址相关的。而bin文件在某一平台上运行时需要充分了解目标芯片平台上的详细地址划分,若更换了别的状态下的软件平台运行,还需要重新在链接脚本内指明具体的链接信息,执行过程比较繁琐。
发明内容
本发明实施例公开了一种实现程序的下载删除的方法及系统,以解决现有技术中目标芯片调用动态程序时需要在链接脚本内指明具体的链接信息,执行过程比较繁琐的问题。
为了解决上述问题,本发明提供了一种实现程序下载删除的方法,其特征在于,包括:
接收目标芯片下载目标程序的请求;
依据所述下载目标程序的请求,查找与所述目标程序对应的c文件;
对所述c文件进行编译,生成可执行链接格式ELF文件;
将所述可执行链接格式ELF文件发送至批处理应用程序;
运行所述批处理应用程序的第一命令对所述可执行链接格式ELF文件进行逐个拆解,得到链接文件;
提取所述链接文件内的指令集信息、指令跳转表信息,并对所述指令集信息、指令跳转表信息进行组合,得到中间临时文件;
运行所述批处理应用程序的第二命令对所述中间临时文件进行重组,得到中间文件NCAP;
将所述中间文件NCAP以数据流的形式下载至所述目标芯片;
在所述目标芯片中对所述中间文件NCAP的各个模块进行本地化链接定位,得到所述目标程序;
所述目标程序被所述目标芯片内软件平台的链接模块管理程序进行调用及删除。
优选的,所述运行所述批处理应用程序的第一命令对所述可执行链接格式ELF文件进行逐个拆解,得到链接文件的步骤,具体为:
运行所述批处理应用程序的第一命令对所述可执行链接格式ELF文件中的段进行逐个抽取,得到链接文件。
优选的,所述运行所述批处理应用程序的第二命令对所述中间临时文件进行重组,得到中间文件NCAP的步骤,具体为:
运行所述批处理应用程序的第二命令对所述中间临时文件中的段进行合并,得到中间文件NCAP。
优选的,所述中间文件NCAP中需要重定位的模块包括:BSS模块、DATA模块、CONSTDATA模块、TEXT模块。
另一方面,本发明还提供一种实现程序的下载删除的系统,所述系统包括:
接收模块,用于接收目标芯片下载目标程序的请求;
查找模块,用于依据所述下载目标程序的请求,查找与所述目标程序对应的c文件;
编译模块,用于对所述c文件进行编译,生成可执行连接格式ELF文件;
发送模块,用于将所述可执行链接格式ELF文件发送至批处理应用程序;
拆解模块,用于运行所述批处理应用程序的第一命令对所述可执行链接格式ELF文件进行拆解,得到链接文件;
提取模块,用于提取所述链接文件内的指令集信息、指令跳转表信息,并对所述指令集信息、指令跳转表信息进行组合,得到中间临时文件;
重组模块,用于运行所述批处理应用程序的第二命令对所述中间临时文件进行重组,得到中间文件NCAP;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京远特科技股份有限公司,未经北京远特科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510314171.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:固件更新方法和装置
- 下一篇:对车辆的车身控制模块进行更新的方法、装置及系统