CN100461713C - 一种通信设备数据加载的方法 - Google Patents
一种通信设备数据加载的方法 Download PDFInfo
- Publication number
- CN100461713C CN100461713C CNB031501338A CN03150133A CN100461713C CN 100461713 C CN100461713 C CN 100461713C CN B031501338 A CNB031501338 A CN B031501338A CN 03150133 A CN03150133 A CN 03150133A CN 100461713 C CN100461713 C CN 100461713C
- Authority
- CN
- China
- Prior art keywords
- file
- file format
- embedding
- veneer
- name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种通信设备数据加载的方法。该方法包括:生成原始文件的配置文件,该文件至少包括被加载单板名称信息;根据上一步骤生成的配置文件,向原始文件添加嵌入文件格式描述,生成至少包括被加载单板名称信息的嵌入文件格式文件;将嵌入文件格式文件加载到主机;进行单板名称识别,主机比较预先记录的各槽位单板注册时上报的单板名称与嵌入文件格式文件中保存单板名称内容的字段,两者如果一致,将原始文件加载到相应的单板,否则终止本次加载。本发明具备单板名称识别功能,能防止在加载单板软件时混淆不同单板的程序,并且能充分校验加载的数据,同时可以采用统一的命令接口加载数据,从而保证对通信设备正确地进行数据加载。
Description
技术领域
本发明涉及数据加载技术,具体地说,涉及一种通信设备数据加载的方法。
背景技术
一台通信设备一般由多种单板组成,不同单板需要不同的单板软件,从而完成不同的功能。而在将软件加载写入单板的过程中需要进行校验,以保证软件的正确性和完备性。
现有方法是直接将二进制程序文件进行加载,通过普通文件传输协议(TFTP)、串口文件传输协议(XMODEM)、文件传输协议(FTP)等协议将数据(原始程序文件或原始配置数据文件)加载到主机内存,然后在主机内存中对加载文件进行循环冗余校验(CRC),并且记录该校验值。向单板加载文件时或者直接写入主机静态存储器后,重新计算加载文件的循环冗余校验值,如果两值一致,则表示加载文件正确,然后单板完成文件的加载。
由此可见,这种加载机制是通过对二进制文件进行循环冗余校验,从而保证加载的正确性。当文件加载到内存时,主机由于不具备板名识别功能,不能区分该文件是否是单板软件以及是哪块单板的软件,只能靠用户操作保证程序文件的正确性。如果用户错误地将A单板的程序加载到B单板,甚至错误地加载了一个其他类型的二进制文件,则B单板可能就无法启动了。同样地,如果给主控板加载了错误的文件,系统复位后将无法启动。用户如果远程登录到主机上进行加载时造成系统复位后无法成功启动,就会造成很大麻烦,必须到设备所在地进行处理。
并且,对于现有加载机制,原始文件一般没有保存自身的循环冗余校验信息,如果程序文件或数据文件被异常修改后再加载,由于主机无法区分该文件是否被人为异常修改,只要加载过程本身没有错误,主机就会将该文件发送给单板,如果该文件一些关键数据被异常修改,很可能导致系统无法正常运行,所以现有加载机制对文件校验不完善。
此外,通信设备中不同的单板具有不同的软件、逻辑、软件补丁等,而其加载方法也是多种多样,有的通过主控板加载,有的用烧片机加载,有的通过单板自身的加载接口加载。由于主机无法区分用户加载的文件到底是单板程序配置数据还是软件补丁等,需要通过不同命令或命令的不同参数进行区分,因此加载操作不便,并且给设备的维护带来不便。
发明内容
本发明的主要目的是为通信设备数据加载提供一种具备板名识别功能的加载方法。
本发明的解决方案包括如下步骤:
a)生成原始文件的配置文件,该文件至少包括被加载单板名称信息;
b)根据步骤a)生成的配置文件,向原始文件添加嵌入文件格式(EFS)描述,生成至少包括被加载单板名称信息的嵌入文件格式文件;
c)将嵌入文件格式文件加载到主机;
d)根据主机预先记录的单板名称和嵌入文件格式文件中的单板名称进行单板名称识别,如果识别成功,执行步骤e),否则终止本次加载;
e)将原始文件加载到相应的单板。
在上述方法中,步骤d)中通过主机比较预先记录的各槽位单板注册时上报的单板名称是否包含嵌入文件格式文件中保存的单板名称信息来进行单板名称识别。
在上述方法中,嵌入文件格式文件描述部分可以放在代码的头部,也可以放在代码的尾部。当放在代码尾部时,需要在嵌入文件格式描述信息前填充若干字节,保证嵌入文件格式文件总长度为128字节的整数倍,以兼容XMODEM加载。
在上述方法中,嵌入文件格式描述可以进一步包括记录魔术字和嵌入文件格式描述的循环冗余校验值的字段,步骤c)与步骤d)之间可以进一步包括:对嵌入文件格式描述进行循环冗余校验,并对得到的校验值与嵌入文件格式文件中嵌入文件格式描述的循环冗余校验值、嵌入文件格式描述中的魔术字与预先设定的魔术字值进行比较,如果都一致,执行步骤d),否则,终止本次加载。
在上述方法中,嵌入文件格式描述可以进一步包括记录原始文件循环冗余校验值的字段,步骤d)与步骤e)之间可以进一步包括:对原始文件进行循环冗余校验,如果得到的校验值与嵌入文件格式文件中的原始文件循环冗余校验值相等,执行步骤e),否则,终止本次加载。
在上述方法中,嵌入文件格式描述可以进一步包括记录原始文件类型和代码类型的字段,在步骤e)中可以根据嵌入文件格式描述中的文件类型和代码类型完成文件的加载。
在上述方法中,嵌入文件格式描述可以进一步包括:嵌入文件格式描述的位置信息、产品名称信息、加载软件的版本号信息、嵌入文件格式文件生成日期与时间信息。
从本发明的技术方案可以看出,主机向该槽位加载程序时,通过比较记录的各槽位单板注册时上报的单板名称与嵌入文件格式文件中保存的单板名称,从而判断嵌入文件格式文件是否包含所在槽位单板的程序,如果嵌入文件格式文件与单板不匹配,则无法成功加载。这样就不会在加载单板软件的时候混淆不同单板的程序,因此本发明具备板名识别功能。
由于嵌入文件格式结构中不仅保存了整个文件的长度和循环冗余校验,还保存了代码段(即原始二进制程序文件或者原始配置数据文件)的长度和循环冗余校验以及产品名称、版本信息、文件描述等内容,因此在加载过程中的校验更加充分。
给文件添加嵌入文件格式信息后主机软件就可以得到该嵌入文件格式文件中的代码类型,从而可以通过一个统一的命令接口加载不同类型的文件,对文件的分流处理可以在主机进行,而不需要通过用户操作来保证加载文件的正确性,因此本发明具有统一的加载接口,操作维护方便。
附图说明
图1是嵌入文件格式文件的结构框图;
图2是本发明的数据加载的流程框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图对本发明进一步详细说明。
图1是嵌入文件格式文件的结构框图。如图1所示,嵌入文件格式文件包括嵌入文件格式文件描述部分和代码部分。嵌入文件格式文件描述部分可以放在代码的头部,也可以放在代码的尾部。当放在代码尾部时,需要在嵌入文件格式描述信息前填充若干字节,保证嵌入文件格式文件总长度为128字节的整数倍,以兼容XMODEM加载。
表1是嵌入文件格式文件的结构,其中代码指由编译软件生成的不带嵌入文件格式描述的原始二进制程序文件或者从内存中直接保存备份下来的配置数据文件。
表1
在嵌入文件格式描述中,Desc字段存放单板名称,使主机具有单板名称识别功能。主机加载程序时,通过比较预先记录的单板名称与嵌入文件格式文件中保存单板名称内容的字段,从而判断嵌入文件格式文件是否包含所在槽位单板的程序,如果嵌入文件格式文件与单板不匹配则无法成功加载。这样就不会在加载单板软件的时候混淆不同单板的程序。
在嵌入文件格式描述中,魔术字字段与嵌入文件格式描述循环冗余校验字段用来验证嵌入文件格式描述。如果嵌入文件格式描述中的魔术字与预先设定的值不相同,或者对嵌入文件格式描述进行循环冗余校验后的值与嵌入文件格式描述中的循环冗余校验值不相同,则说明嵌入文件格式描述有错误,终止加载。此外,对于软件的版本号字段、产品名称字段等,用户可以根据实际情况配置,验证嵌入文件格式描述的正确性。例如,检查加载软件的版本号是否是已经公布的最新版本,检查产品名称字段的内容是否是正在加载的设备名称。
在嵌入文件格式描述中,Code CRC字段用来校验加载的程序,如果对加载程序进行循环冗余校验后的值与Code CRC值不相同,则说明该程序有错误,终止加载。如果两值相同,则单板根据加载文件类型字段、代码格式字段的信息完成程序的加载。
嵌入文件格式描述中包括记录加载文件类型的字段,给文件添加嵌入文件格式描述后,主机软件就可以从中得到该嵌入文件格式文件中的代码类型,从而可以通过一个统一的命令接口加载不同类型的文件,对文件的分流处理可以在主机进行,而不需要通过用户操作来保证加载文件的正确性。
图2是本发明的通信设备数据加载的流程框图。如图2所示,数据加载的工作过程如下:
步骤201:生成原始文件的配置文件。
用户填写原始文件(原始程序文件或者原始配置数据文件)的配置文件,配置文件的内容包括:嵌入文件格式描述的位置(嵌入文件格式描述放在原始文件头部还是原始文件尾部)、产品名称、加载软件的版本号、文件类型、代码类型、加载单板的板名称、该嵌入文件格式文件的生成日期、时间。
步骤202:原始文件编译设备生成嵌入文件格式文件。
1)自动填写嵌入文件格式描述中的魔术字域,该魔术字为事先定义的两个字母,例如公司名称的缩写。
2)根据步骤201生成的用户配置文件中的信息,自动填写嵌入文件格式描述中的相应域;其中,如果配置文件中生成日期、时间字段内容为空,则读取操作系统日期、时间,填写嵌入文件格式描述中的日期和时间;如果不为空,则取该字段的内容作为嵌入文件格式描述中的日期和时间。
3)计算文件头循环冗余校验和代码循环冗余校验并填写嵌入文件格式描述中的相应域。
4)统计加载文件长度与嵌入文件格式文件总长度,并自动填写嵌入文件格式描述中的相应域。
5)根据步骤201生成的用户配置文件中关于嵌入文件格式描述的位置信息将嵌入文件格式描述放在原始文件的头部或尾部,当放在尾部时,需要在嵌入文件格式描述信息前填充若干字节,保证嵌入文件格式文件总长度为128字节的整数倍,以兼容XMODEM加载。
步骤203:加载嵌入文件格式文件,根据用户输入的文件名将嵌入文件格式文件读入加载的通信设备。
步骤204:校验文件的嵌入文件格式描述。
对嵌入文件格式描述进行循环冗余校验,并且读取魔术字字段的内容。
步骤205:判断描述是否合法。
将步骤204得到的魔术字、循环冗余校验值与预先设定的魔术字、嵌入文件格式描述中的循环冗余校验值分别比较,如果两个值都相同,则说明嵌入文件格式描述合法,进行步骤206;否则,终止加载,结束本流程。
软件的版本号字段、嵌入文件格式文件生成时间字段、产品名称字段用户可以根据实际情况配置,辅助验证嵌入文件格式描述的正确性。
步骤206:单板名称识别。
在单板注册的时候,单板上报其名称,主机记录该单板的单板名称。主机向单板所在槽位加载程序时,通过比较预先记录的单板名称与嵌入文件格式文件中保存单板名称的字段,从而判断嵌入文件格式文件是否包含所在槽位单板的程序。如果嵌入文件格式文件与单板不匹配则无法成功加载,这样就不会在加载单板软件的时候混淆不同单板的程序。
步骤207:判断单板名称是否一致。
如果一致,进行步骤208;否则,终止加载,结束本流程。
步骤208:单板校验加载的原始文件。
对加载程序进行循环冗余校验。
步骤209:判断原始文件是否合法。
比较步骤208计算得到的循环冗余校验值与嵌入文件格式描述中的Code CRC值,如果两值相同,则说明该文件合法,进行步骤210;否则,终止加载,结束本流程。
步骤210:单板加载文件。
根据嵌入文件格式描述中加载文件类型字段、代码格式字段的内容完成不同类型文件如BIOS、逻辑、微码、配置数据等的分流加载。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种通信设备数据加载的方法,其特征在于,该方法包括如下步骤:
a)生成原始文件的配置文件,该文件至少包括被加载单板名称信息;
b)根据步骤a)生成的配置文件,向原始文件添加嵌入文件格式描述,生成至少包括被加载单板名称信息的嵌入文件格式文件;
c)将嵌入文件格式文件加载到主机;
d)根据主机预先记录的单板名称和嵌入文件格式文件中的单板名称进行单板名称识别,如果识别成功,执行步骤e),否则终止本次加载;
e)将原始文件加载到对应的单板。
2.根据权利要求1所述的方法,其特征在于,在步骤d)中通过主机比较预先记录的各槽位单板注册时上报的单板名称是否包含嵌入文件格式文件中保存的单板名称信息来进行单板名称识别。
3.根据权利要求1所述的方法,其特征在于,所述的嵌入文件格式文件描述部分放在原始文件的头部。
4.根据权利要求1所述的方法,其特征在于,所述的嵌入文件格式文件描述部分放在原始文件的尾部。
5.根据权利要求4所述的方法,其特征在于,在嵌入文件格式描述部分前填充其个数为128字节的整数倍与当前嵌入文件格式描述部分加上代码部分字节数之差的字节。
6.根据权利要求1所述的方法,其特征在于,嵌入文件格式描述进一步包括记录魔术字和嵌入文件格式描述的循环冗余校验值的字段,步骤c)与步骤d)之间进一步包括:
(1)对嵌入文件格式描述进行循环冗余校验,并对得到的校验值与嵌入文件格式文件中嵌入文件格式描述的循环冗余校验值进行比较;
(2)比较嵌入文件格式描述中的魔术字与预先设定的魔术字值,如果两者都一致,执行步骤d),否则,终止本次加载。
7.根据权利要求1所述的方法,其特征在于,嵌入文件格式描述进一步包括记录原始文件循环冗余校验值的字段,步骤d)与步骤e)之间进一步包括:对原始文件进行循环冗余校验,如果得到的校验值与嵌入文件格式文件中的原始文件循环冗余校验值相等,执行步骤e),否则,终止本次加载。
8.根据权利要求1所述的方法,其特征在于,嵌入文件格式描述进一步包括记录原始文件类型和代码类型的字段,在步骤e)中根据嵌入文件格式描述中的文件类型和代码类型完成文件的加载。
9.根据权利要求1所述的方法,其特征在于,嵌入文件格式描述进一步包括:嵌入文件格式描述的位置信息、产品名称信息、加载软件的版本号信息、嵌入文件格式文件生成日期与时间信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031501338A CN100461713C (zh) | 2003-07-18 | 2003-07-18 | 一种通信设备数据加载的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031501338A CN100461713C (zh) | 2003-07-18 | 2003-07-18 | 一种通信设备数据加载的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1571370A CN1571370A (zh) | 2005-01-26 |
CN100461713C true CN100461713C (zh) | 2009-02-11 |
Family
ID=34472624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031501338A Expired - Fee Related CN100461713C (zh) | 2003-07-18 | 2003-07-18 | 一种通信设备数据加载的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100461713C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100464520C (zh) * | 2007-01-12 | 2009-02-25 | 华为技术有限公司 | 一种分布式数据加载的实现方法及系统 |
CN102315958B (zh) * | 2010-07-01 | 2014-04-02 | 大唐移动通信设备有限公司 | 通信单板进行文件加载及主机端传输加载文件的方法 |
CN106502950B (zh) * | 2016-09-30 | 2019-10-01 | 株洲太昌电子信息技术股份有限公司 | 一种通过串口传输文件的方法及系统 |
CN110022287A (zh) * | 2018-01-10 | 2019-07-16 | 厦门雅迅网络股份有限公司 | 一种异步分布式文件传输方法、终端设备及存储介质 |
CN109522040A (zh) * | 2018-09-27 | 2019-03-26 | 宁波三星智能电气有限公司 | 一种用于电表的数据包数变长远程升级方法 |
CN111142934B (zh) * | 2019-11-28 | 2023-06-13 | 中国航空工业集团公司西安航空计算技术研究所 | 一种可受加载的文件格式设计方法 |
CN111694576B (zh) * | 2020-05-22 | 2023-06-13 | 中国航空工业集团公司西安航空计算技术研究所 | 一种综合化航电系统软件部署控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5566314A (en) * | 1993-08-30 | 1996-10-15 | Lucent Technologies Inc. | Flash memory device employing unused cell arrays to update files |
KR20020078395A (ko) * | 2001-04-09 | 2002-10-18 | 주식회사 팬택앤큐리텔 | 이동통신단말기에서 부팅 시간 단축방법 |
-
2003
- 2003-07-18 CN CNB031501338A patent/CN100461713C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5566314A (en) * | 1993-08-30 | 1996-10-15 | Lucent Technologies Inc. | Flash memory device employing unused cell arrays to update files |
KR20020078395A (ko) * | 2001-04-09 | 2002-10-18 | 주식회사 팬택앤큐리텔 | 이동통신단말기에서 부팅 시간 단축방법 |
Also Published As
Publication number | Publication date |
---|---|
CN1571370A (zh) | 2005-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7337311B2 (en) | Method for controlling upgrade of firmware | |
CN107924443B (zh) | 用于过程控制的控制装置的固件升级方法及其系统 | |
JP6755158B2 (ja) | 計算機システム、計算機システムによるソフトウェアの更新方法、及び、そのためのプログラム | |
US5991543A (en) | Software installation and testing for a build-to-order computer system | |
US8910117B2 (en) | Customizing and performing policy in version control | |
US5963743A (en) | Database for facilitating software installation and testing for a build-to-order computer system | |
US6327706B1 (en) | Method of installing software on and/or testing a computer system | |
US6990600B2 (en) | Method for checking a computer system configuration | |
EP3915792A1 (en) | Consumable chip, and consumable chip communication method | |
CN107783776B (zh) | 固件升级包的处理方法及装置、电子设备 | |
US6615406B1 (en) | Apparatus for use in the manufacture of a computer system | |
CN106201640A (zh) | 一种升级BootLoader程序的方法及装置 | |
CN100461713C (zh) | 一种通信设备数据加载的方法 | |
CN105468384A (zh) | 车载控制器的烧写系统、方法、服务器和烧写终端 | |
CN107479927A (zh) | 融合型一体机的固件升级方法及装置 | |
CN114443175B (zh) | 一种用于弹载fpga在线升级的启动配置方法 | |
CN107844305A (zh) | 嵌入式设备的软件升级方法及嵌入式设备 | |
CN111459496B (zh) | 一种防篡改的程序文件的生成方法、设备的升级方法 | |
CN100334555C (zh) | 智能型固化软件的升级控制方法 | |
CN114610355A (zh) | 一种适用于电力芯片控制软件的升级方法及装置 | |
CN105278993B (zh) | 一种基于Linux系统的驱动模块升级方法及装置 | |
AU3583999A (en) | A method of installing software on and/or testing a computer system | |
CN101488877B (zh) | 一种在线下载单板程序的方法 | |
CN115544521B (zh) | 一种离线安装文件的校验和生成方法及装置 | |
US7490232B2 (en) | Disk device using disk to rewrite firmware and firmware determination method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090211 Termination date: 20170718 |