[发明专利]一种程序加载校验算法有效
| 申请号: | 201910647258.3 | 申请日: | 2019-07-17 |
| 公开(公告)号: | CN110427195B | 公开(公告)日: | 2023-06-30 |
| 发明(设计)人: | 张跃;屠晓涛;李乐意 | 申请(专利权)人: | 陕西千山航空电子有限责任公司 |
| 主分类号: | G06F8/61 | 分类号: | G06F8/61;G06F11/08 |
| 代理公司: | 北京清大紫荆知识产权代理有限公司 11718 | 代理人: | 娄华 |
| 地址: | 710065 陕西省西*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 程序 加载 校验 算法 | ||
本发明提供一种程序加载的校验方法,采用附加字段和附加校验和混合使用的方式,将用于校验的字段和校验和附加在执行程序文件的尾端,在目标机程序加载任务中运行校验操作。本发明有效解决了在程序加载过程中因文件选择或通讯错误而造成的程序无法运行的问题。
技术领域
本发明属于航空电子技术领域,涉及一种程序加载校验算法。
背景技术
随着航空电子设备的不断发展,越来越多的设备中使用了程序进行控制,随着产品的使用,程序中不完善处被发现,在线加载成为程序升级的最优方式。该方式可以在不改变硬件状态的情况下快速完成软件升级的工作,大大节约人力和时间。
目前主流的升级方法为将软件编译器编译生成的可执行代码直接覆盖原程序,一般容易出现操作失误的情况,进而导致文件加载错误,程序无法运行,此时只能通过外部手段重新烧录程序。
发明内容
发明目的:本发明提供一种程序加载的校验方法,使得在程序加载过程中能够避免因操作失误而导致将错误的文件加载到目标设备,降低程序加载错误或失败的几率。
本发明采用的方案是:采用附加字段和附加校验和混合使用的方式,将用于校验的字段和校验和附加在执行程序文件的尾端,在目标机程序加载任务中运行校验操作。
优选地,所述附加字段通过编译器附加或使用批处理执行的方式,将自定义字段附加在编译器编译的可执行代码的尾端。
优选地,所述附加校验和包括两个校验步骤,分别是命令校验和和程序校验和,其中所述命令校验和方法入下:
命令校验和,通常程序数据量较大,通过不同接口进行加载时,无法一次将全部数据发送,通过加载命令定义‘起始’、‘数据’、‘结束’命令来定义加载不同的阶段;
‘起始’命令为加载端开始加载或重新加载的首个命令,目标机接收到‘起始’命令将程序加载功能重新进行初始化,避免上一次加载错误等不确定状态被清除;命令格式为:命令字+标志字;
‘数据’命令包含程序数据,命令格式为:命令字+标志字+数据长度+数据+ 命令校验和;数据长度可根据不同系统进行设置,命令结尾处的标志字为加载端计算得出;
‘结束’命令已将全部数据发送完成;目标机接收到‘结束’命令后,开始进行附加字段和程序校验和的计算和校验;
所述程序校验和为加载端计算,并附加在程序数据的最后。
优选地,所述目标机校验的方法如下:
(1)目标机接收加载程序命令,计算当前命令数据校验和得到计算校验和 a,将计算校验和a与命令校验和进行对比,如果相等,则将命令数据放入缓冲区并调整缓冲区指针;如果不相等,则程序加载失败;
(2)工作直至接收到‘结束’命令,判断附加字段是否正确,如果正确,则进行下一个步骤,如果错误,则程序加载失败;
(3)计算缓冲区数据校验和,将计算校验和b与程序校验和进行对比,如果相等,则将程序文件写入程序存储器;如果不相等,则程序加载失败。
有益效果:本发明有效解决了在程序加载过程中因文件选择或通讯错误而造成的程序无法运行的问题。
附图说明
图1为本发明目标机校验流程图。
具体实施方式
下面通过具体实施方式对本发明作进一步的详细说明:
一种程序加载的校验方法,采用附加字段和附加校验和混合使用的方式,将用于校验的字段和校验和附加在执行程序文件的尾端,在目标机程序加载任务中运行校验操作。
所述附加字段通过编译器附加或使用批处理执行的方式,将自定义字段附加在编译器编译的可执行代码的尾端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西千山航空电子有限责任公司,未经陕西千山航空电子有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910647258.3/2.html,转载请声明来源钻瓜专利网。





