CN101488877A - 一种在线下载单板程序的方法 - Google Patents
一种在线下载单板程序的方法 Download PDFInfo
- Publication number
- CN101488877A CN101488877A CNA200810004135XA CN200810004135A CN101488877A CN 101488877 A CN101488877 A CN 101488877A CN A200810004135X A CNA200810004135X A CN A200810004135XA CN 200810004135 A CN200810004135 A CN 200810004135A CN 101488877 A CN101488877 A CN 101488877A
- Authority
- CN
- China
- Prior art keywords
- header
- program
- veneer
- monoboard
- type
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种在线下载单板程序的方法,将单板程序配置头信息后存储在网管中心,然后将所述单板程序从网管中心下载到单板,所述单板根据所述头信息校验程序的正确性,如正确则运行或存储所述单板程序。本发明所述方法,可以减少网管的操作复杂性,将复杂的操作对于用户作了隐藏;同时可以避免下载错误的单板程序导致单板不能正常运行起来,从而影响在网单板的可升级性和可维护性,大大提升了可维护性。
Description
技术领域
本发明涉及系统设备领域,尤其涉及一种在线下载单板程序的方法。
背景技术
通讯设备中嵌入式系统开发的单板越来越复杂,其中可能就包含了:应用程序、FPGA(Field-Programmable Gate Array,现场可编程门阵列)程序、DSP(Digital Signal Processor,数字信号处理器)程序等等。有些可能程序还不止一套。而且作为系统设备,其需求总是随着市场和用户的要求在不断的变化,这些变化可以通过升级单板上的程序来实现。同时作为系统设备,其网络非常的分散,设备的管理通过统一的网管中心作为管理,单板一般都需要支持远程下载的功能。如图1所示。
现有的方法就是在网管中心下载的时候,每个程序单独下载,同时在网管中心识别各种程序,通过网管下发的报文中的标识来区分。所述标识用于指示程序类型,比如指示该程序为应用程序、FPGA程序、DSP程序等。单板根据报文中的标识,对于不同的程序作不同的处理。这样有多少个程序就需要下载多少次,增加了运维人员的负担。同时,最糟糕的是,如果标识选择了一种程序(例如FPGA程序),但是实际选择的程序下错了,就会导致单板不能运行,严重的需要到远程现场去插拔单板,重新换一个程序才能够运行。这将是灾难性的后果。
发明内容
本发明要解决的技术问题是提供一种在线下载单板程序的方法,减少维护的工作量,避免误操作,同时更好的保证下载的程序的正确性。
为了解决上述问题,本发明提供了一种在线下载单板程序的方法,将单板程序配置头信息后存储在网管中心,然后将所述单板程序从网管中心下载到单板,所述单板根据所述头信息校验程序的正确性,如正确则运行或存储所述单板程序。
进一步地,上述方法还可具有以下特点,将单板程序配置头信息后,将同一单板要下载的多个单板程序合成一个文件下载到单板,再存储到网管中心。
进一步地,上述方法还可具有以下特点,所述头信息包括程序类型、数据长度、数据校验值、头信息长度、头信息的校验值。
进一步地,上述方法还可具有以下特点,所述程序的类型包括应用程序、现场可编程门阵列FPGA程序以及数字信号处理器DSP程序。
进一步地,上述方法还可具有以下特点,所述头信息还包括结束标志、单板类型、是否压缩、扩展头信息。
进一步地,上述方法还可具有以下特点,所述单板根据所述头信息校验程序的正确性,如正确则根据头信息中的程序类型进行相应处理,所述处理包括如下方式中的一种或多种组合:
(1)根据程序类型将所述单板程序写入单板非易失性存储器中对应区域;
(2)根据程序类型将所述单板程序直接下载到相应的硬件运行;所述硬件为FPGA或DSP;
(3)根据程序类型直接在单板的内存中运行。
进一步地,上述方法还可具有以下特点,所述非易失性存储器包括闪存Flash、安全数码卡SD卡、超小型闪存存储卡TF卡、压缩闪存卡CF卡。
进一步地,上述方法还可具有以下特点,所述单板根据所述头信息校验程序的正确性包括:
根据头信息中的头信息长度、头信息的校验值进行头信息校验;若校验正确,再根据头信息中程序的数据长度、数据校验值校验程序数据的正确性。
进一步地,上述方法还可具有以下特点,所述单板根据所述头信息校验程序的正确性包括:检查头信息中的单板类型否跟实际需要下载的单板类型相符合。
进一步地,上述方法还可具有以下特点,若经校验后,所述单板程序不正确,则单板返回失败提示信息给网管中心并结束。
由上可见,通过本发明所述方法,可以减少网管的操作复杂性,将复杂的操作对于用户作了隐藏;同时可以避免下载错误的单板程序导致单板不能正常运行起来,从而影响在网单板的可升级性和可维护性,大大提升了可维护性。
附图说明
图1是系统设备的网络升级示意图。
图2是本发明实施例中文件格式示意图。
图3是本发明实施例中FPGA程序下载到单板时单板的处理流程图。
图4是本发明实施例中FPGA和应用程序混合下载到单板时单板的处理流程图。
具体实施方式
本发明可以同时在一次下载中支持多个及多种单板程序的组合下载,首先准备好需要下载到单板上的程序,根据每个程序的属性,分别加上定义的头信息,存储到网管中心,然后将所述单板程序从网管中心下载到单板的内存,所述单板根据所述头信息校验程序的正确性,如正确则根据头信息中的程序类型进行相应的处理,所述处理一般包括运行或存储该单板程序:比如,可以根据程序类型将该单板程序写入单板非易失性存储器中对应区域,或者,可以根据程序类型将该单板程序直接下载到相应的硬件运行,如对于FPGA程序下载到相应的FPGA中、对于DSP程序下载到相应的DSP中,直接运行;或者,可以根据程序类型直接在内存中运行,比如对于应用程序,就可以直接在单板的内存中运行。如果程序校验错误,则返回失败提示信息给网管中心。返回失败后可以要求网管中心重新发送正确的程序,也可以不要求。
所述非易失性存储器一般指Flash(闪存),即FPGA程序写入单板Flash对应FPGA程序区域,DSP程序写入单板Flash对应DSP程序区域,应用程序写入单板Flash对应应用程序区域;所述非易失性存储器也可以是单板的SD卡(Secure Digital Memory Card,安全数码卡)、TF卡(TransFLash,一种超小型闪存存储卡)、CF卡(Compact Flash Card,压缩闪存卡)等;
对于所述处理是运行还是存储该单板程序,一般跟硬件相关,即如果所述单板没有非易失性存储器,则一般需要每次下载即运行该单板程序;如果所述单板有非易失性存储器,则一般是先存储在非易失性存储器中,待需要时再运行该单板程序。
另外,也可以将需要下载的多个单板程序合成一个文件,存储到网管中心,再将该合成文件一次下载到单板,而无需逐一下载。
下面结合附图和实施例对本发明的技术方案作详细介绍。
第一实施例
假设有2个FPGA程序,1个应用程序需要下载到某一单板上,可以使用下述方式来完成这些程序的下载:
将同类型的FPGA程序分别加上定义的头信息后合成一个文件,将应用程序加上定义的头信息,然后将所述合成文件和处理后的应用程序分别下载。
这种处理方式包括如下步骤:
步骤一,为2个FPGA单板程序配置的头信息分别填写到每个FPGA程序的开头,所述头信息包括程序类型、数据长度(即该程序的长度)、数据校验值(即该程序的整体的数据校验值,通常采用CRC32算法进行数据校验)、头信息长度、头信息的校验值、结束标志,然后将两个FPGA程序连接在一起形成一个合成文件存储到网管中心,合成文件的格式如图2所示;
其中,头信息还可以包括:单板类型、是否压缩(即该程序是否压缩)、扩展头信息。
若无需打包合成文件,只是将单板程序一个一个下载到网管中心,以及单板上,则所述头信息可以没有结束标志,即结束标志为可选,只是用于指示多个文件的连接。
步骤二,将生成好的合成文件下载到相应的单板上;
步骤三,单板对所述合成文件进行处理,如图3所示,包括:
a1,首先进行头信息校验,即根据头信息中的头信息长度、头信息的校验值校验头信息是否正确,如错误则返回失败并结束,如正确则进入b1;
b1,进行程序的数据校验,即根据头信息中程序的数据长度、数据校验值校验程序数据是否正确,如校验错误则返回失败并结束,如程序数据校验正确则进入c1;
c1,检查单板类型是否符合,即检查头信息中的单板类型否跟实际需要下载的单板类型相符合,若不符合则返回失败并结束,若符合则进入d1;
本步为可选步骤,当头信息中有单板类型,且需要进行检查时,才会执行;
d1,根据头信息中的结束标志判断是否是最后一个程序,如结束标志指示此程序为最后一个程序,则进入e1,否则找到下一个程序的开始位置,继续对下一个程序作a1-d1的操作;
e1,根据头信息中的程序类型判断出该合成文件中的程序为FPGA单板程序,将所述FPGA单板程序写到单板Flash对应的FPGA程序区域中。
步骤四,下载应用程序,处理过程同上述FPGA程序的合成文件的过程类似,应用程序校验正确后单板将其写到单板Flash对应的应用程序区域中。
第二实施例
在本实施例中还是假设有2个FPGA程序,1个应用程序需要下载到某一单板上,本实施例中使用下述方式来完成这些程序的下载:将3个程序合成一个文件(称为合成文件)下载到单板。
这种处理方式包括如下步骤:
步骤一,为2个FPGA单板程序配置的头信息分别填写到每个FPGA程序的开头,接着将为应用程序配置的头信息写到应用程序的开头;跟第一实施例一样,所述头信息包括程序类型、数据长度、数据校验值、头信息长度、头信息的校验值、结束标志等;然后将3个程序连接在一起形成一个合成文件;
步骤二,将生成好的合成文件下载到相应的单板上;
步骤三,单板对所述合成文件进行处理,如图4所示,包括:
a2,首先进行头信息校验,即根据头信息中的头信息长度、头信息的校验值校验头信息是否正确,如错误则返回失败并结束,如正确则进入b2;
b2,进行程序的数据校验,即根据头信息中程序的数据长度、数据校验值校验程序数据是否正确,如校验错误则返回失败并结束,如程序数据校验正确则进入c2;
c2,检查单板类型是否符合,即检查头信息中的单板类型否跟实际需要下载的单板类型相符合,若不符合则返回失败并结束,若符合则进入d2;
d2,根据头信息中的结束标志判断是否是最后一个程序,如结束标志指示此程序为最后一个程序,则进入e2,否则找到下一个程序的开始位置,继续对下一个程序作a2-d2的操作;
e2,找到第一个程序的开始位置;
f2,根据头信息中的程序类型进行判断,如是FPGA程序则写到单板Flash对应的FPGA程序区域中,如是应用程序则写到单板Flash对应的应用程序区域中;
g2,判断是否是最后一个程序,如是则结束处理过程,如不是则找到下一个程序的开始位置,返回执行步骤f2。
当然,本发明还可有其它多种实施方式,在不背离本发明精神及其实质的情况下,熟悉本领域的普通技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所要求的保护范围。
Claims (10)
1、一种在线下载单板程序的方法,其特征在于,将单板程序配置头信息后存储在网管中心,然后将所述单板程序从网管中心下载到单板,所述单板根据所述头信息校验程序的正确性,如正确则运行或存储所述单板程序。
2、如权利要求1所述的方法,其特征在于:
将单板程序配置头信息后,将同一单板要下载的多个单板程序合成一个文件下载到单板,再存储到网管中心。
3、如权利要求1所述的方法,其特征在于:
所述头信息包括程序类型、数据长度、数据校验值、头信息长度、头信息的校验值。
4、如权利要求3所述的方法,其特征在于:
所述程序的类型包括应用程序、现场可编程门阵列FPGA程序以及数字信号处理器DSP程序。
5、如权利要求3所述的方法,其特征在于:
所述头信息还包括结束标志、单板类型、是否压缩、扩展头信息。
6、如权利要求3所述的方法,其特征在于,所述单板根据所述头信息校验程序的正确性,如正确则根据头信息中的程序类型进行相应处理,所述处理包括如下方式中的一种或多种组合:
(1)根据程序类型将所述单板程序写入单板非易失性存储器中对应区域;
(2)根据程序类型将所述单板程序直接下载到相应的硬件运行;所述硬件为FPGA或DSP;
(3)根据程序类型直接在单板的内存中运行。
7、如权利要求6所述的方法,其特征在于:
所述非易失性存储器包括闪存Flash、安全数码卡SD卡、超小型闪存存储卡TF卡、压缩闪存卡CF卡。
8、如权利要求1或3所述的方法,其特征在于,所述单板根据所述头信息校验程序的正确性包括:
根据头信息中的头信息长度、头信息的校验值进行头信息校验;若校验正确,再根据头信息中程序的数据长度、数据校验值校验程序数据的正确性。
9、如权利要求1或5所述的方法,其特征在于,所述单板根据所述头信息校验程序的正确性包括:
检查头信息中的单板类型否跟实际需要下载的单板类型相符合。
10、如权利要求1所述的方法,其特征在于:
若经校验后,所述单板程序不正确,则单板返回失败提示信息给网管中心并结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810004135XA CN101488877B (zh) | 2008-01-18 | 2008-01-18 | 一种在线下载单板程序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810004135XA CN101488877B (zh) | 2008-01-18 | 2008-01-18 | 一种在线下载单板程序的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101488877A true CN101488877A (zh) | 2009-07-22 |
CN101488877B CN101488877B (zh) | 2012-07-18 |
Family
ID=40891566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810004135XA Active CN101488877B (zh) | 2008-01-18 | 2008-01-18 | 一种在线下载单板程序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101488877B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158561A (zh) * | 2011-04-26 | 2011-08-17 | 中兴通讯股份有限公司 | 单板组件批量下载的方法、装置及系统 |
CN104182416A (zh) * | 2013-05-27 | 2014-12-03 | 鸿富锦精密工业(深圳)有限公司 | 文件下载系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1252951C (zh) * | 2003-11-04 | 2006-04-19 | 中兴通讯股份有限公司 | 节点b单板软件下载及升级方法 |
CN100388678C (zh) * | 2004-11-29 | 2008-05-14 | 中兴通讯股份有限公司 | 电信传输系统单元软硬件版本自动获取方法 |
CN100340982C (zh) * | 2005-03-03 | 2007-10-03 | 中兴通讯股份有限公司 | 一种传输设备单板软件在线升级出错后的恢复方法 |
CN1862503A (zh) * | 2006-03-03 | 2006-11-15 | 华为技术有限公司 | 一种版本在线升级方法及装置 |
CN1897515A (zh) * | 2006-06-29 | 2007-01-17 | 中兴通讯股份有限公司 | 一种保证设备软件在线下载可靠性的方法 |
-
2008
- 2008-01-18 CN CN200810004135XA patent/CN101488877B/zh active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158561A (zh) * | 2011-04-26 | 2011-08-17 | 中兴通讯股份有限公司 | 单板组件批量下载的方法、装置及系统 |
CN102158561B (zh) * | 2011-04-26 | 2015-09-16 | 中兴通讯股份有限公司 | 单板组件批量下载的方法、装置及系统 |
CN104182416A (zh) * | 2013-05-27 | 2014-12-03 | 鸿富锦精密工业(深圳)有限公司 | 文件下载系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101488877B (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105511911B (zh) | 系统固件升级包的生成方法及装置 | |
CN103309709B (zh) | 一种固件升级方法、装置及通信设备 | |
US20080270427A1 (en) | Method and Apparatus for Configuring a Control Device, and Corresponding Control Device | |
CN108509215B (zh) | 一种系统软件的更换方法、装置、终端设备及存储介质 | |
CN105100051A (zh) | 实现数据资源访问权限控制的方法及系统 | |
CN110442473B (zh) | 一种非易失性数据存储方法、装置、电子设备及介质 | |
CN108470004A (zh) | 测试脚本生成方法、测试方法、装置、设备及存储介质 | |
CN106201640A (zh) | 一种升级BootLoader程序的方法及装置 | |
CN110351715A (zh) | At指令处理方法、终端适配器及计算机可读存储介质 | |
CN103051689A (zh) | 一种程序升级下载方法和装置 | |
US20090026275A1 (en) | Automatically configurable smart card and method of automatically configuring a smart card | |
CN113608692A (zh) | 一种存储系统数据一致性验证方法、系统、设备以及介质 | |
CN102999397A (zh) | 一种嵌入式软件升级校验的方法 | |
CN101488877B (zh) | 一种在线下载单板程序的方法 | |
CN109002305A (zh) | 一种设备程序的更新方法及其系统 | |
CN109462661A (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN103019785A (zh) | 用于处理程序升级的方法和装置 | |
WO2020113382A1 (zh) | 硬件升级方法、装置、设备和存储介质 | |
CN110018999A (zh) | 一种文件管理方法、系统及电子设备和存储介质 | |
CN115268969A (zh) | 安卓系统升级方法及装置、终端设备 | |
CN105278993B (zh) | 一种基于Linux系统的驱动模块升级方法及装置 | |
CN108694048A (zh) | 一种批量发布服务的实现方法 | |
CN115421745A (zh) | 设备远程升级方法、装置、终端及存储介质 | |
CN110519355A (zh) | 下发ova文件信息的方法、系统、设备及存储介质 | |
CN113656474A (zh) | 业务数据的接入方法、装置、电子设备及存储介质 |
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 |