[发明专利]嵌入式系统的热补丁实现方法有效
申请号: | 201310248056.4 | 申请日: | 2013-06-20 |
公开(公告)号: | CN104239082B | 公开(公告)日: | 2019-01-15 |
发明(设计)人: | 汪革;彭双庭;陈锦泽 | 申请(专利权)人: | 上海博达数据通信有限公司 |
主分类号: | G06F8/658 | 分类号: | G06F8/658;G06F8/71;G06F11/14 |
代理公司: | 上海天翔知识产权代理有限公司 31224 | 代理人: | 刘粉宝 |
地址: | 201203 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 系统 补丁 实现 方法 | ||
本发明公开了嵌入式系统的热补丁实现方法,其首先,在现有系统中找到旧函数,将该函数的第一条指令改为跳转指令,跳转的地址指向新函数,从而实现新函数的功能取代原来旧函数。由此能够实现在不能更换软件系统、重启设备的情况下,完成系统软件的功能更新和缺陷修复。
技术领域
本发明涉及嵌入式系统技术,具体涉及嵌入式系统的补丁技术。
背景技术
现代网络对于嵌入式设备的稳定性、容错性要求越来越高,要求设备在系统有少许错误的情况下依然能够保持继续运行,保持其他功能的正确性和连续性。
传统的嵌入式软件更新,需要替换整个系统镜像文件,这直接导致了系统即使只需要修复一个局部缺陷,也必须通过系统整机重启来完成软件升级。但是对于嵌入式设备的使用场合,一般需要避免用重启设备的方式更换软件版本,热补丁技术能够很好的弥补这个问题。
热补丁提供了一种在不中断嵌入式设备运行的情况下,快速、低成本地实现系统软件的局部修改的技术,从而达到修复软件缺陷和更新系统功能的目的。
由此可见,如何在嵌入式系统中利用热补丁技术对系统软件进行局部修改,时本领域亟需解决的问题。
发明内容
本发明针对现有嵌入式软件功能更新和缺陷修复时需要替换整个系统镜像文件和系统整机重启来完成的问题,而提供一种用于嵌入式系统的热补丁技术。其能够实现在不能更换软件系统、重启设备的情况下,完成系统软件的功能更新和缺陷修复。
为了达到上述目的,本发明采用如下的技术方案:
嵌入式系统的热补丁实现方法,所述方法首先,在现有系统中找到旧函数,将该函数的第一条指令改为跳转指令,跳转的地址指向新函数,从而实现新函数的功能取代原来旧函数。
在本发明的优选实例中,所述方法的具体步骤如下:
(1)编译实现新功能或者修复缺陷的新函数,编译生成的文件格式保存了代码段、数据段和BSS段,该编译生成的文件作为模块文件,该文件且可以被系统读取并复制到内存中执行;
(2)将编译生成的文件中用到的符号分离到单独的文件中,生成一个字符形式保存的符号表,该符号表中存在原系统中存在的符号以及本次补丁中新加入的符号,并通过查找原系统中使用到的完整符号表,将该符号表中原系统存在的符号对应的值填充完整;再将提取出的完整符号表和提取出的新加符号表以字符串形式,同步骤(1)中生成的模块文件打包成为一个补丁文件;
(3)目标系统对步骤(2)中提取到的完整符号表进行添加和对步骤(1)中模块文件进行动态加载;
(4)导入符号表以后,系统将动态加载补丁文件,把补丁文件中的模块文件分离出来,并将其代码段、数据段和BSS段依次复制到对应的内存空间中;同时把补丁文件中定义的函数添加到系统自身的符号表中;
(5)在加载完补丁后,查找补丁文件中用于更新的新函数,接着查询系统符号表,来确定需要被更新的函数在系统代码段中的位置,并将该函数的前若干字节改成跳转指令,跳转地址为新函数所在代码段的地址。
进一步的,所述步骤(1)中编译生成的文件格式为ELF格式。
进一步的,所述步骤(3)中在动态加载前,通过动态添加来完成符号表的添加。
进一步的,所述步骤(4)中用于复制补丁文件中代码段、数据段和BSS段的内存空间是嵌入式系统在生成系统软件时预留的。
进一步的,所述步骤(4)加载补丁文件时,对补丁文件对应的版本号以及系统软件的版本号做一致性检查。
通过上述方案能够有效的实现在不更换软件系统、重启设备的情况下,完成系统软件的功能更新和缺陷修复,大大降低了嵌入式系统更新或修复的成本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海博达数据通信有限公司,未经上海博达数据通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310248056.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:人机交互界面对操作指令响应的控制方法及终端
- 下一篇:界面色彩调整方法及装置