[发明专利]嵌入式系统的热补丁实现方法有效
申请号: | 201310248056.4 | 申请日: | 2013-06-20 |
公开(公告)号: | CN104239082B | 公开(公告)日: | 2019-01-15 |
发明(设计)人: | 汪革;彭双庭;陈锦泽 | 申请(专利权)人: | 上海博达数据通信有限公司 |
主分类号: | G06F8/658 | 分类号: | G06F8/658;G06F8/71;G06F11/14 |
代理公司: | 上海天翔知识产权代理有限公司 31224 | 代理人: | 刘粉宝 |
地址: | 201203 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了嵌入式系统的热补丁实现方法,其首先,在现有系统中找到旧函数,将该函数的第一条指令改为跳转指令,跳转的地址指向新函数,从而实现新函数的功能取代原来旧函数。由此能够实现在不能更换软件系统、重启设备的情况下,完成系统软件的功能更新和缺陷修复。 | ||
搜索关键词: | 嵌入式 系统 补丁 实现 方法 | ||
【主权项】:
1.嵌入式系统的热补丁实现方法,其特征在于,所述方法首先,在现有系统中找到旧函数,将该函数的第一条指令改为跳转指令,跳转的地址指向新函数,从而实现新函数的功能取代原来旧函数;所述方法的具体步骤如下:(1)编译实现新功能或者修复缺陷的新函数,编译生成的文件格式保存了代码段、数据段和BSS段,该编译生成的文件作为模块文件,该文件可以被系统读取并复制到内存中执行;(2)将编译生成的文件中用到的符号分离到单独的文件中,生成一个字符形式保存的符号表,该符号表中存在原系统中存在的符号以及本次补丁中新加入的符号,并通过查找原系统中使用到的完整符号表,将该符号表中原系统存在的符号对应的值填充完整;再将提取出的完整符号表和提取出的新加符号表以字符串形式,同步骤(1)中生成的模块文件打包成为一个补丁文件;(3)目标系统对步骤(2)中提取到的完整符号表进行添加和对步骤(1)中模块文件进行动态加载;(4)导入符号表以后,系统将动态加载补丁文件,把补丁文件中的模块文件分离出来,并将其代码段、数据段和BSS段依次复制到对应的内存空间中;同时把补丁文件中定义的函数添加到系统自身的符号表中;(5)在加载完补丁后,查找补丁文件中用于更新的新函数,接着查询系统符号表,来确定需要被更新的函数在系统代码段中的位置,并将该函数的前若干字节改成跳转指令,跳转地址为新函数所在代码段的地址。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海博达数据通信有限公司,未经上海博达数据通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310248056.4/,转载请声明来源钻瓜专利网。
- 上一篇:人机交互界面对操作指令响应的控制方法及终端
- 下一篇:界面色彩调整方法及装置