[发明专利]一种嵌入式系统开发程序校验码自动生成的方法在审
申请号: | 201010565309.7 | 申请日: | 2010-11-25 |
公开(公告)号: | CN102023884A | 公开(公告)日: | 2011-04-20 |
发明(设计)人: | 刘波 | 申请(专利权)人: | 深圳市科陆电子科技股份有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F11/08 |
代理公司: | 广州中浚雄杰知识产权代理有限责任公司 44254 | 代理人: | 周永强 |
地址: | 518000 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统 开发 程序 校验码 自动 生成 方法 | ||
技术领域
本发明涉及嵌入式系统开发程序校验码自动生成的方法。
背景技术
现有技术中,针对程序的校验管理方式,目前的处理方式有以下几种:
1)采用专用的代码管理系统或工具
专用的代码管理系统和工具能够根据代码的功能、模块分类、系统整合起到很好的管理作用。但是这个方式在不能够在嵌入式系统的最终过程中体现出其特有的专用型,或者这个专用型没有与最后生成的嵌入式系统结合起来,没有一个形成一个整体,很容易造成代码的混乱。
2)采用手动设定的版本号
对程序进行规划后,根据统一的规划、功能的升级等方式,逐步提升程序的版本号,如V1.01,V2.10。这种方式由于引入了人为的操作,需要编程人员的参与,如果出现人为疏忽、编码出错、重复编号等原因,导致版本的错乱、重复,最终出现错误的情况。另外这种方式没有把代码的差异性进行体现。
以上的办法都没有很好的把代码的唯一性、差异性在最终的下载程序中体现出来,也没有能够对下载程序的正确性进行验证,都是没有校验的。
发明内容
本发明所要解决的技术问题是提供一种嵌入式系统开发程序校验码自动生成的方法,在对代码进行编译完成后自动生成校验码,并自动的根据生成的十六进制或者二进制文件的变化自动生成并添加唯一的校验码;同时实现程序校验码的自动生成,不需要人为的操作,使得程序的校验码更加具有唯一性和可靠性。
为解决上述技术问题,本发明的技术方案是:一种嵌入式系统开发程序校验码自动生成的方法,包括以下步骤:
(1)编写计算校验码的命令CommA,根据编译器的输出文件自动计算校验码命令;
(2)编写把CommA命令生成的校验码添加写入生成的十六进制或二进制文件的命令CommB;
(3)根据嵌入式系统编译开发环境提供的开放接口,在编译器成功编译并生成十六进制或者二进制出处文件后自动运行计算程序的校验码命令;
(4)再次执行编译的过程,并烧制已经自动添加校验码的代码到设备中。
在对代码进行编译完成后自动生成校验码,并自动的根据生成的十六进制或者二进制文件的变化自动生成并添加唯一的校验码;当通过程序烧写器、下载工具进行程序下载、烧录的过程中完成校验码的装载过程,实现程序校验码的自动生成,不需要人为的操作,使得程序的校验码更加具有唯一性和可靠性。当程序运行时,程序可以对本身进行一次校验码的计算,计算的结果与存储于程序中的校验码进行比对,确认无误后才进入运行,以防止程序由于各种原因(程序存储器损坏、病毒入侵等原因)使得程序出现损坏而运行,从而导致一些致命性的错误发生,对提高装置的安全性起到防护作用。
作为改进,所述步骤(1)的具体步骤如下:
(S101)查找并进入编译器生成的最终目录;
(S102)判断编译器生成的文件是16进制还是2进制,若是16进制,则选择16进制的算法;若是2进制,则选择2进制的算法;
(S103)逐一读取并解析文件的数据域;
(S104)根据校验算法计算校验码;
(S105)判断文件是否结束,是则输出文件校验码,否则返回(S103)。作为改进,所述步骤(2)的具体步骤如下:
(S201)判断处理的文件是否存在,否则返回,是则进入下一步;
(S202)获取当前系统程序储存空间的大小Flash_Size;
(S203)判断编译器生成的文件是16进制还是2进制;
(S204)若是16进制,则在文件最后一部分插入一条记录,指定在Flash_Size地址写入程序校验码;若是2进制,则获取已经生成的2进制文件占用的空间大小Bin_Size,然后在Bin_Size至Flash_Size空间填充0XFF,最后在Flash_Size地址写入程序校验码;
(S205)显示程序校验码;
(S206)提示成功并返回。
本发明与现有技术相比所带来的有益效果是:
1)本方法的校验码可以自动生成,无需人工干预;使得校验码更具有唯一性和可靠性;
2)经过算法生成的校验码自动添加到编译器生成的十六进制或二进制文件中;
3)使得整个编译过程与原有的编译过程一致,对原有的所有操作过程没有任何改变,更加易于让使用者接受;
4)生成的程序校验码可以用于代码的自检,有效的提高开发产品的安全性和可靠性。
附图说明
图1为本发明流程图;
图2为计算效验码命令流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市科陆电子科技股份有限公司,未经深圳市科陆电子科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010565309.7/2.html,转载请声明来源钻瓜专利网。