[发明专利]设备程序更新方法在审

专利信息
申请号: 201410134219.0 申请日: 2014-04-03
公开(公告)号: CN103885807A 公开(公告)日: 2014-06-25
发明(设计)人: 毛力 申请(专利权)人: 四川九成信息技术有限公司
主分类号: G06F9/445 分类号: G06F9/445
代理公司: 北京天奇智新知识产权代理有限公司 11340 代理人: 杨春
地址: 610041 四川省成*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 设备 程序 更新 方法
【权利要求书】:

1.一种设备程序更新方法,其特征在于,包括:

在计算差异代码之前,首先确定需要更新的函数;

计算新旧函数之间的差异代码;

通过代码预取区域机制,将需要频繁进行更新的代码保存在RAM中;

调用函数时,先跳转到指令数据混合列表,由指令数据混合列表中的函数调用指令调用函数,

设备接收到函数更新脚本后,如果根据指令数据混合列表确定旧程序中相应的函数已经被保存到代码预取区域中,则将需要更新的旧函数代码与差异代码一起放入函数组装区域进行组合,重建新函数。

2.根据权利要求1所述的方法,其特征在于,所述确定需要更新的函数的步骤进一步包括:

采用二级比较机制,即通过比对新旧代码的奇偶校验码和MD5码的方式确定需要更新的函数。

3.根据权利要求2所述的方法,其特征在于,还包括:

首先对旧程序中的所有函数分别生成奇偶校验码以及MD5码,并对旧程序本身再生成一次奇偶校验码和MD5码,当获得新程序的代码后,首先生成新程序的奇偶校验码,对新旧程序的奇偶校验码进行比较,如果不同,直接开始比较新旧程序中的各个函数;否则计算新程序的MD5码,继续与旧程序的MD5码进行比较,

将新程序中每个函数的奇偶校验码与旧程序中对应函数的奇偶校验码进行比较,如果不同,则确定需要更新的函数;然后对所有奇偶校验码相同的函数分别生成MD5码,继续比较。

4.根据权利要求1所述的方法,其特征在于,所述计算新旧函数之间的差异代码的步骤进一步包括:

输入新旧程序的汇编文件,计算后输出为汇编语言组成的差异代码文件,所述差异代码文件包括:以函数为单位的新旧程序的差异代码,差异代码距离函数第一条指令的指令偏移数以及需要进行的重编程操作,

所述重编程操作包括:删除操作、插入操作和替换操作,

其中,替换操作直接写入新代码覆盖旧代码,插入操作或删除操作会改变旧函数的大小,当一个函数的更新仅仅涉及替换操作或删除操作时,通过写入无条件跳转指令或者空指令来实现删除操作,并通过直接覆盖原始代码实现替换操作,如果对函数的更新包含了插入操作,则需要对函数进行重建。

5.根据权利要求1所述的方法,其特征在于,所述代码预取区域首先进行初始化,RAM中地址自低到高依次存放.bas段、.data段、.bssram段以及.dataram段、函数组装区域、管理列表区域、代码预取区域以及系统堆栈。

6.根据权利要求1所述的方法,其特征在于,所述指令数据混合列表由函数信息数据以及对函数的调用指令组成,函数的调用指令包含了函数当前的存储地址,函数信息数据包含了函数编号、函数代码量以及更新次数,该更新次数指示当前函数已被更新的次数,同时通过正负数区分当前函数是否已被保存在代码预取区域中,正数表示当前函数保存在内部flash中,负数表示保存在代码预取区域中。

7.根据权利要求1所述的方法,其特征在于,该方法还包括:

缓存代码的替换以函数为单位进行,将函数变化次数以及函数变化的程度同时考虑,首先定义反映函数变化情况的变化率,即更新过程中函数代码总量与程序代码总量之比,在第k次升级时,计算函数在第k次升级时的替换因子,即函数变化率与第k次升级时函数被更新的次数的点积;

如果需要更新的函数没有保存在代码预取区域中,且它的替换因子大于已经保存在代码预取区域中的若干个函数的,则需要计算替换出这若干个函数后腾出的缓存空间是否足够保存当前函数。如果可以,则将这若干个函数回写入内部flash中,并将该函数保存在缓存中。反之如果仍然没有足够的缓存空间,则将该函数写入内部flash中。

8.根据权利要求1所述的方法,其特征在于,该方法还包括:

当新函数被放入代码预取区域或者回写到内部flash中时,可以将原函数所占用的空间重新释放,保存其它新函数,采用缓存空闲空间列表和Flash空闲空间列表管理空闲空间,并将这两个列表保存在管理列表区域,缓存空闲空间列表和Flash空闲空间列表分别记录了代码预取区域和内部flash中空闲空间的起始地址及大小,当新函数需要重新选择地址保存时,通过空闲空间列表查找合适的存储空间,修改空闲空间列表对应的项,并将对应的原始函数的起始地址和函数大小记录到空闲空间列表,释放对应原函数的存储空间。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川九成信息技术有限公司,未经四川九成信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410134219.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top