嵌入式软件运行时故障的在线自检与切片恢复方法及装置转让专利

申请号 : CN201410562454.8

文献号 : CN104298599B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐军孙军峰周庭梁周宇恒汪明新张磊

申请人 : 卡斯柯信号有限公司

摘要 :

本发明涉及一种嵌入式软件运行时故障的在线自检与切片恢复方法及装置,该方法采用离线与在线相结合的代码运行时故障检测机制,同时提供在线恢复代码段数据,所述的恢复方法具体包括以下步骤:1)代码段数据离线校验处理阶段;2)代码段实时检测与在线恢复阶段;所述的装置包括远程工作站PC机和嵌入式设备,该嵌入式设备包括主处理模块、电源模块和CPLD逻辑模块。与现有技术相比,本发明具有解决了应用程序代码段数据出现异常的问题,并且保证了应用程序的可靠性和安全性。

权利要求 :

1.一种嵌入式软件运行时故障的在线自检与切片恢复方法,其特征在于,该方法采用离线与在线相结合的代码运行时故障检测机制,同时提供在线恢复代码段数据,所述的恢复方法具体包括以下步骤:

1)代码段数据离线校验处理阶段;

2)代码段实时检测与在线恢复阶段;

所述的步骤1)代码段数据离线校验处理阶段具体为:

a1)在应用程序的代码编码完成后,放入工作站PC机上进行交叉编译,生成可在嵌入式设备上运行的ELF格式的可执行文件HPM.out;

a2)通过ELF文件离线解析工具OffLineParseElfTool来获取文件HPM.out的解析ELF信息头数据,从中计算头数据总表的偏移与大小;

a3)OffLineParseElfTool在头数据总表中解析代码段信息头数据,计算代码段在ELF文件中的偏移与大小,然后从对应位置获取代码段数据;

a4)OffLineParseElfTool根据代码段数据和10组冗余码,生成10组离线校验数据;

a5)利用VHDL语言编写校验算法逻辑,并生成相应文件,将相应文件和离线生成的校验数据码数据烧写到CPLD中;

a6)通过ftp工具将可执行应用程序文件HPM.out进行远程下载,或在线烧写到嵌入式设备的板载Flash中;

所述的步骤2)代码段实时检测与在线恢复阶段具体为:

b1)嵌入式设备上电后,初始化硬件设备,并对CPLD模块进行初始化,如果初始化成功继续步骤b2),否则执行步骤b11);

b2)嵌入式设备的操作系统开始初始化,挂载Flash文件系统,并且创建系统初始化任务InitTask,如果初始化成功继续步骤b3),否则执行步骤b11);

b3)初始化任务InitTask从Flash文件系统的加载可执行文件HPM.out,加载到指定的内存区域;InitTask创建恢复任务RecoverTask、主处理任务MainTask和网络任务NetTask,并挂起恢复任务RecoverTask;InitTask获取对应代码段在内存区域中地址和大小,然后并从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,如果校验通过继续步骤b4),否则执行步骤b11);

b4)MainTask对嵌入式设备的系统数据进行逻辑处理,并执行步骤b5);

b5)判断定时中断是否触发,如果触发执行步骤b6),否则返回执行步骤b4);

b6)定时中断处理函数通过锁住操作系统操作来禁止任务调度和响应中断,然后通过CPLD根据冗余码来生成校验码,并与离线生成的校验码比较,如果校验通过继续步骤b7),否则执行步骤b8);

b7)解锁操作系统操作来恢复任务调度和响应中断,并返回执行步骤b4);

b8)获取主处理任务MainTask运行参数与系统状态变量切片值,并将这些变量切片值保存到系统内存的高内存的教育数据区,同时对该教育数据区进行CRC处理,并保存CRC值,供教育恢复时,校验数据使用,继续步骤b9);

b9)调用在线恢复代码段功能模块,来恢复应用程序的代码段数据,判断如果恢复成功,执行步骤b10),否则执行步骤b11);

b10)从教育数据区恢复主处理任务MainTask运行参数与系统状态变量并返回执行步骤b4);

b11)控制板卡前面板上LED闪烁,来进行告警,并持续闪烁3分钟后,嵌入式设备重启。

2.根据权利要求1所述的一种嵌入式软件运行时故障的在线自检与切片恢复方法,其特征在于,在线烧写前,备份较老版本的应用程序文件为HPM.old,如果烧写失败,从HPM.old文件恢复,使用老版本应用程序。

3.根据权利要求1所述的一种嵌入式软件运行时故障的在线自检与切片恢复方法,其特征在于,所述的步骤b5)中的定时中断的周期为500ms。

4.根据权利要求1所述的一种嵌入式软件运行时故障的在线自检与切片恢复方法,其特征在于,所述的在线恢复代码段功能模块具体工作流程如下:c1)解锁操作系统,激活创建恢复任务RecoverTask,RecoverTask开始运行,并关闭CPLD中定时器,继续步骤c2);

c2)恢复任务RecoverTask删除MainTask和NetTask,并且清除MainTask和NetTask的控制块信息,删除HPM.out模块加载信息,继续步骤c3);

c3)恢复任务RecoverTask从Flash文件系统的加载可执行文件HPM.out,从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,如果校验通过继续步骤c6),否则执行步骤c4);

c4)恢复任务RecoverTask通过FTP协议从远程工作站PC机下载可执行文件HPM.out,从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,继续步骤c5);

c5)判断校验码是否一致,如果校验码一致继续步骤c6),否则设置g_RECOVER为1,并执行步骤c8);

c6)恢复任务RecoverTask加载可执行文件HPM.out,加载到指定的内存区域;然后创建主处理任务MainTask和网络任务NetTask,并挂起恢复任务RecoverTask;

c7)判断是否加载成功,如果成功,设置g_RECOVER为0,否则,设置g_RECOVER为1,然后执行步骤c8);

c8)打开CPLD中的定时器,并返回。

5.一种实施权利要求1至4中任一的嵌入式软件运行时故障的在线自检与切片恢复方法的装置,其特征在于,包括远程工作站PC机和嵌入式设备,该嵌入式设备包括主处理模块、电源模块和CPLD逻辑模块,所述的主处理模块包括微处理器以及分别与微处理器连接的内存模块、Flash模块、网络模块和看门狗模块,所述的CPLD逻辑模块包括分别与微处理器连接的HSD模块、LED指示模块、定时器模块,所述的网络模块与远程工作站PC机连接;

所述的主处理模块通过网络模块从外部设备接收网络数据包,然后由微处理器负责对接收的数据进行逻辑处理,所述的CPLD逻辑模块从主处理模块接收数据,并根据预先设计的冗余码生成在线校验码,所述的HSD模块负责生成在线校验码,并比较在线校验码和离线校验码的一致性。

6.根据权利要求5所述的装置,其特征在于,所述的远程工作站PC机依次通过网络连接线、路由设备、以太网与嵌入式设备连接。

7.根据权利要求5所述的装置,其特征在于,所述的电源模块将输入的220V电压转换成

24V的电压,给主处理模块、CPLD模块供电。

说明书 :

嵌入式软件运行时故障的在线自检与切片恢复方法及装置

技术领域

[0001] 本发明涉及一种提高软件代码段可靠性的技术,尤其是涉及一种嵌入式软件运行时故障的在线自检与切片恢复方法及装置。

背景技术

[0002] 应用在轨道交通行业中的安全计算机,从外部设备接收数据,并进行逻辑运算处理,在实际应用中主要设计安全应用软件来实现逻辑运算的功能,安全应用软件在运行过程中执行的指令,被存储在安全计算机系统内存的代码段中,安全计算机系统所处的工作环境具有高温、震动剧烈、辐射强等特点,可能出现各种软硬件故障,导致存储在代码段中的数据发生异常,从而使任何运行在内存中的逻辑运算结果出错,最终影响整个系统的安全性和可靠性。
[0003] 为了保证安全计算机代码段的正确性和可靠性,需要实时的对代码段进行检测,同时,如果发现代码段错误,应该采取一些措施来时安全计算机不会产生错误的输出。目前已有一些提高应用软件代码段可靠性的方法,但这些方法有以下不足:
[0004] 1、对应用程序本身进行校验,不能动态在线的对代码段进行检测;
[0005] 2、难以实时地发现因内存系统性故障引起代码段异常;
[0006] 3、在发现代码段故障后,对系统应用软件功能进行恢复时,往往中断业务的时间比较长,其中恢复业务消耗时间长达秒级甚至分钟级;
[0007] 4、通过系统自身软件对代码段副本进行一致性比较,来进行代码段检测,运算量大,占用系统资源,实时性不好;
[0008] 5、自身软件文件损坏后,在现场对嵌入式板卡的设备进行恢复,需要采用专用设备对板卡的Flash进行烧写,操作繁琐,耗时长达秒级甚至分钟级。

发明内容

[0009] 本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种嵌入式软件运行时故障的在线自检与切片恢复方法,解决了应用程序代码段数据出现异常的问题,并且保证了应用程序的可靠性和安全性。
[0010] 本发明的目的可以通过以下技术方案来实现:
[0011] 一种嵌入式软件运行时故障的在线自检与切片恢复方法,其特征在于,该方法采用离线与在线相结合的代码运行时故障检测机制,同时提供在线恢复代码段数据,所述的恢复方法具体包括以下步骤:
[0012] 1)代码段数据离线校验处理阶段;
[0013] 2)代码段实时检测与在线恢复阶段。
[0014] 所述的步骤1)代码段数据离线校验处理阶段具体为:
[0015] a1)在应用程序的代码编码完成后,放入工作站PC机上进行交叉编译,生成可在嵌入式设备上运行的ELF格式的可执行文件HPM.out;
[0016] a2)通过ELF文件离线解析工具OffLineParseElfTool来获取文件HPM.out的解析ELF信息头数据,从中计算段头数据总表的偏移与大小;
[0017] a3)OffLineParseElfTool在头数据总表中解析代码段信息头数据,计算代码段在ELF文件中的偏移与大小,然后从对应位置获取代码段数据;
[0018] a4)OffLineParseElfTool根据代码段数据和10组冗余码,生成10组离线校验数据;
[0019] a5)利用VHDL语言编写校验算法逻辑,并生成相应文件,将相应文件和离线生成的校验数据码数据烧写到CPLD中;
[0020] a6)通过ftp工具将可执行应用程序文件HPM.out进行远程下载,或在线烧写到嵌入式设备的板载Flash中。
[0021] 在线烧写前,备份较老版本的应用程序文件为HPM.old,如果烧写失败,从HPM.old文件恢复,使用老版本应用程序。
[0022] 所述的步骤2)代码段实时检测与在线恢复阶段具体为:
[0023] b1)嵌入式设备上电后,初始化硬件设备,并对CPLD模块进行初始化,如果初始化成功继续步骤b2),否则执行步骤b11);
[0024] b2)嵌入式设备的操作系统开始初始化,挂载Flash文件系统,并且创建系统初始化任务InitTask,如果初始化成功继续步骤b3),否则执行步骤b11);
[0025] b3)初始化任务InitTask从Flash文件系统的加载可执行文件HPM.out,加载到指定的内存区域;InitTask创建恢复任务RecoverTask、主处理任务MainTask和网络任务NetTask,并挂起恢复任务RecoverTask;InitTask获取对应代码段在内存区域中地址和大小,然后并从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,如果校验通过继续步骤b4),否则执行步骤b11);
[0026] b4)MainTask对嵌入式设备的系统数据进行逻辑处理,并执行步骤b5);
[0027] b5)判断定时中断是否触发,如果触发执行步骤b6),否则返回执行步骤b4);
[0028] b6)定时中断处理函数通过锁住操作系统操作来禁止任务调度和响应中断,然后通过CPLD根据冗余码来生成校验码,并与离线生成的校验码比较,如果校验通过继续步骤b7),否则执行步骤b8);
[0029] b7)解锁操作系统操作来恢复任务调度和响应中断,并返回执行步骤b4);
[0030] b8)获取主处理任务MainTask运行参数与系统状态变量切片值,并将这些变量切片值保存到系统内存的高内存的教育数据区,同时对该教育数据进行CRC(循环冗余校验码)处理,并保存CRC值,供教育恢复时,校验数据使用,继续步骤b9);
[0031] b9)调用在线恢复代码段功能模块,来恢复应用程序的代码段数据,判断如果恢复成功,执行步骤b10),否则执行步骤b11);
[0032] b10)从教育数据区恢复主处理任务MainTask运行参数与系统状态变量并返回执行步骤b4);
[0033] b11)控制板卡前面板上LED闪烁,来进行告警,并持续闪烁3分钟后,嵌入式设备重启。
[0034] 所述的步骤b5)中的定时中断的周期为500ms。
[0035] 6.根据权利要求4所述的一种嵌入式软件运行时故障的在线自检与切片恢复方法,其特征在于,所述的在线恢复代码段功能模块具体工作流程如下:
[0036] c1)解锁操作系统,激活创建恢复任务RecoverTask,RecoverTask开始运行,并关闭CPLD中定时器,继续步骤c2);
[0037] c2)恢复任务RecoverTask删除MainTask和NetTask,并且清除MainTask和NetTask的控制块信息,删除HPM.out模块加载信息,继续步骤c3);
[0038] c3)恢复任务RecoverTask从Flash文件系统的加载可执行文件HPM.out,从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,如果校验通过继续步骤c6),否则执行步骤c4);
[0039] c4)恢复任务RecoverTask通过FTP协议从远程工作站PC机下载可执行文件HPM.out,从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,继续步骤c5);
[0040] c5)判断校验码是否一致,如果校验码一致继续步骤c6),否则设置g_RECOVER为1,并执行步骤c8);
[0041] c6)恢复任务RecoverTask加载可执行文件HPM.out,加载到指定的内存区域;然后创建主处理任务MainTask和网络任务NetTask,并挂起恢复任务RecoverTask;
[0042] c7)判断是否加载成功,如果成功,设置g_RECOVER为0,否则,设置g_RECOVER为1,然后执行步骤c8);
[0043] c8)打开CPLD中的定时器,并返回。
[0044] 一种嵌入式软件运行时故障的在线自检与切片恢复方法的装置,其特征在于,包括远程工作站PC机和嵌入式设备,该嵌入式设备包括主处理模块、电源模块和CPLD逻辑模块,所述的主处理模块包括微处理器以及分别与微处理器连接的内存模块、Flash模块、网络模块和看门狗模块,所述的CPLD逻辑模块包括分别与微处理器连接的HSD(High Speed Detection)模块、LED指示模块、定时器模块,所述的网络模块与远程工作站PC机连接;
[0045] 所述的主处理模块通过网络模块从外部设备接收网络数据包,然后由微处理器负责对接收的数据进行逻辑处理,所述的CPLD模块从主处理模块接收数据,并根据预先设计的冗余码生成在线校验码,所述的HSD模块负责生成在线校验码,并比较在线校验码和离线校验码的一致性。
[0046] 所述的远程工作站PC机依次通过网络连接线、路由设备、以太网与嵌入式设备连接。
[0047] 所述的电源模块将输入的220V电压转换成24V的电压,给主处理模块、CPLD模块供电。
[0048] 与现有技术相比,本发明具有以下优点:
[0049] 1、采用硬件逻辑进行代码段检测,检测速度高、不占用微处理器资源;
[0050] 2、采用多组冗余码数据,通过离线工具生成校验码,与在线生成校验码一致性比较,提高了检测结果的可靠性;
[0051] 3、以500ms为周期进行代码段在线检测,检测周期短,提高了系统的可靠性;
[0052] 4、采用代码段切片在线恢复技术,不需要重启设备,能最低限度的降低对业务的影响;
[0053] 5、采用切片参数再教育技术,保持代码恢复前与代码恢复后,系统处理数据的一致性,可以方便快捷重新开始处理业务,耗时为100秒,提高了设备的可用性。
[0054] 6、通过在Flash文件系统中加载可执行文件和网络下载可执行文件相结合,加强了检测与恢复流程的稳定性和可靠性。
[0055] 7、通过远程下载应用程序文件,方便快捷,中断业务时间为3分钟,提高了系统的可用性。

附图说明

[0056] 图1为离线处理的流程图;
[0057] 图2为代码段在线检测的流程图;
[0058] 图3为代码段在线恢复的流程图;
[0059] 图4为本发明的装置结构示意图。

具体实施方式

[0060] 下面结合附图和具体实施例对本发明进行详细说明。
[0061] 图1、图2、图3所示为本发明的具体流程。结合图1、图2、图3和图4对以下各步骤进行详细描述:
[0062] 如图1所示,一种嵌入式软件运行时故障的在线自检与切片恢复方法的代码段数据离线校验处理阶段,该阶段包括以下步骤:
[0063] 1)在应用程序的代码编码完成后,在工作站PC机上进行交叉编译,生成可以在嵌入式设备上运行的ELF格式的可执行文件HPM.out;
[0064] 2)通过ELF文件离线解析工具OffLineParseElfTool来获取文件HPM.out的解析ELF信息头数据,从中计算段头数据总表的偏移与大小;
[0065] 3)OffLineParseElfTool在头数据总表中解析代码段信息头数据,计算代码段在ELF文件中的偏移与大小,然后从对应位置获取代码段数据;
[0066] 4)OffLineParseElfTool根据代码段数据和10组冗余码,生成10组离线校验数据;
[0067] 5)利用VHDL语言编写校验算法逻辑,并生成相应文件,将相应文件和离线生成的校验数据码数据烧写到CPLD中。
[0068] 6)通过ftp工具将可执行应用程序文件HPM.out,远程下载,并在线烧写到嵌入式设备的板载Flash中。在烧写前,备份较老版本的应用程序文件为HPM.old,如果烧写失败,从HPM.old文件恢复,使用老版本应用程序。
[0069] 如图2所示,一种嵌入式的代码运行时在线自检与恢复方法的代码段实时检测与在线恢复阶段,该阶段包括以下步骤:
[0070] 101)嵌入式设备上电后,开始初始化CPU、RAM、Flash、网络芯片等硬件,并对CPLD模块进行初始化,如果初始化成功继续步骤102),否则执行步骤111);
[0071] 102)嵌入式设备的操作系统开始初始化,挂载Flash文件系统,并且创建系统初始化任务InitTask,如果初始化成功继续步骤103),否则执行步骤111);
[0072] 103)初始化任务InitTask从Flash文件系统的加载可执行文件HPM.out,加载到指定的内存区域:InitTask创建恢复任务RecoverTask、主处理任务MainTask和网络任务NetTask,并挂起恢复任务RecoverTask;InitTask获取对应代码段在内存区域中地址和大小,然后并从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,如果校验通过继续步骤104),否则执行步骤111);
[0073] 104)MainTask对嵌入式设备的系统数据进行逻辑处理,并执行步骤105);
[0074] 105)判断周期为500ms的定时中断是否触发,如果触发执行步骤106),否则返回执行步骤104);
[0075] 106)定时中断处理函数通过锁住操作系统操作来禁止任务调度和响应中断,然后通过CPLD根据冗余码来生成校验码,并与离线生成的校验码比较,如果校验通过继续步骤107),否则执行步骤108);
[0076] 107)解锁操作系统操作来恢复任务调度和响应中断,并返回执行步骤104);
[0077] 108)获取主处理任务MainTask运行参数与系统状态变量值,并将这些变量值保存到系统内存的高内存的教育数据区,继续步骤109);
[0078] 109)调用在线恢复代码段功能模块,来恢复应用程序的代码段数据,判断如果恢复成功,执行步骤110),否则执行步骤111);
[0079] 110)从教育数据区恢复主处理任务MainTask运行参数与系统状态变量并返回执行步骤4);
[0080] 111)控制板卡前面板上LED闪烁,来进行告警,并持续闪烁3分钟后,嵌入式设备重启。
[0081] 如图3所示,一种嵌入式软件运行时故障的在线自检与切片恢复方法的代码段实时检测与在线恢复阶段,包含在线恢复代码段功能模块执行子阶段,该子阶段包括以下步骤:
[0082] 201)解锁操作系统,激活创建恢复任务RecoverTask,RecoverTask开始运行,并关闭CPLD中定时器,继续步骤202);
[0083] 202)恢复任务RecoverTask删除MainTask和NetTask,并且清除MainTask和NetTask的控制块信息,删除HPM.out模块加载信息。继续步骤203);
[0084] 203)恢复任务RecoverTask从Flash文件系统的加载可执行文件HPM.out,从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较,如果校验通过继续步骤206),否则执行步骤204);
[0085] 204)恢复任务RecoverTask通过FTP协议从工作站PC机下载可执行文件HPM.out,从中解析出代码段数据,并通过CPLD根据冗余码来生成校验码,与离线生成的校验码比较;
[0086] 205)判断校验码是否一致,如果校验码一致继续步骤206),否则设置g_RECOVER为1,并执行步骤208);
[0087] 206)恢复任务RecoverTask加载可执行文件HPMout,加载到指定的内存区域;然后创建主处理任务MainTask和网络任务NetTask,并挂起恢复任务RecoverTask;
[0088] 207)判断是否加载成功,如果成功,设置g_RECOVER为0,否则,设置g_RECOVER为1,然后执行步骤208);
[0089] 208)打开CPLD中的定时器,并返回。
[0090] (2)如图4所示,一种嵌入式软件运行时故障的在线自检与切片恢复装置,该装置包括远程工作站PC机f和嵌入式设备。所述远程工作站PC机为工业计算机。所述的嵌入式设备主要由主处理模块a、CPLD逻辑模块b和电源模块c组成,所述的主处理模块a由微处理器a1、内存模块a3、Flash模块a5、网络模块a2、看门狗模块a4组成,所述CPLD逻辑模块b主要由HSD(High Speed Detection)模块bl、LED指示模块b2、定时器模块b3组成,所述的电源模块c给主处理模块a、CPLD模块b供电,微处理器al通过本地系统总线与主处理模块a其他子模块(a2,a3,a4,a5)以及CPLD模块b连接,远程工作站PC机f通过网络连接线e、路由设备d、以太网g与嵌入式设备连接。
[0091] 主处理模块a通过网络模块a2从外部设备接收网络数据包,然后由微处理器a1负责对接收的数据进行逻辑处理。网络模块a2采用1000M速率的网络芯片,微处理器a1的型号为ARM(Cortex-R)。内存模块a3为嵌入式设备运行提供内存空间。Flash模块a5主要用于Flash文件系统,存储可执行文件以及其他配置文件。看门狗模块a4主要负责系统监控功能,防止程序进入异常死循环状态。
[0092] CPLD模块b从主处理模块a接收数据,并根据预先设计的冗余码生成在线校验码。HSD模块b1负责生成在线校验码,并比较在线校验码和离线校验码的一致性。LED指示模块b2为多色LED灯,通过闪烁不同的颜色表示不同的告警内容。定时器模块b3主要负责产生定时器中断信号,中断信号的周期为500ms。
[0093] 电源模块c将输入的220V电压转换成24V的电压,给主处理模块a、CPLD模块b供电。
[0094] 主处理模块a上运行的操作系统为嵌入式vxWorks操作系统,HPM.out软件采用标准C语言进行软件开发。
[0095] CPLD模块b中的逻辑功能通过VHDL硬件逻辑语言开发。
[0096] 远程工作站PC机f上运行的操作系统为Microsoft Windows XP Professional。网络连接线e为带屏蔽层的双绞线,路由设备d为思科路由器设备。
[0097] 离线解析工具OffLineParseElfTool采用C++语言开发,软件开发环境为微软公司的Visual Studio 2010。
[0098] 可执行文件HPM.out主要包含主处理任务和网络任务的逻辑代码,HPM.out的软件结构如下:
[0099] 1)网络通信任务模块
[0100] 通过网络协议接收输入数据和发送输出数据,数据包括状态信息和控制命令。
[0101] 2)主处理任务模块
[0102] 对输入的数据进行逻辑处理,并输出。
[0103] 在应用程序编译完成后,会生成ELF格式的可执行文件HPM.out,利用离线解析工具OffLineParseElfTool从中提取出代码段数据,利用校验码生成算法结合设计好的10组冗余码,来生成10组离线校验码,并将生成的10组相异的校验码,存储到对应的文件中。10组冗余码如表1所示:表1
[0104]编号 冗余码
1 0x1E0F2F03
2 0x08D62F01
3 0x4F0F2F07
4 0xA3B2F07
5 0x1E0F2F8C
6 0xB5332FA1
7 0x1E0F2F3E
8 0x8DDB2FE9
9 0xF0072F3C
10 0x5DA42F25