CN112650518A - Dsp程序在线升级方法 - Google Patents
Dsp程序在线升级方法 Download PDFInfo
- Publication number
- CN112650518A CN112650518A CN201910957392.3A CN201910957392A CN112650518A CN 112650518 A CN112650518 A CN 112650518A CN 201910957392 A CN201910957392 A CN 201910957392A CN 112650518 A CN112650518 A CN 112650518A
- Authority
- CN
- China
- Prior art keywords
- program
- area
- application program
- upgrading
- dsp
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000004075 alteration Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Abstract
本发明提供了一种DSP程序在线升级方法,DSP的Flash包括Bootloader程序存储区和应用程序存储区,应用程序存储区包括程序备份区和程序运行区,所述方法包括以下步骤:S1,DSP在应用程序运行过程中接收到升级指令后,运行Bootloader程序;S2,在擦除程序备份区的原数据后,将升级程序写入程序备份区;S3,校验程序备份区的应用程序是否完整;S4,如果程序备份区的应用程序完整,则在擦除程序运行区的原数据后,将程序备份区当前的应用程序写入程序运行区。本发明能够对在线升级时写入的升级程序进行校验,从而保证写入的升级程序的完整性,提高执行升级程序的设备的安全性。
Description
技术领域
本发明涉及程序升级技术领域,具体涉及一种DSP程序在线升级方法。
背景技术
随着电子技术的发展,以DSP(DigitalSignalProcessing,数字信号处理器)为核心的各种产品在多个领域得到广泛应用,这些电子产品在使用周期内通常需要进行程序的升级维护。
目前在线升级电子产品的程序较为普遍,在线升级具有简单方便,用户体验高等优点。然而,由于在进行电子产品程序在线更新升级过程中会受到多种外界因素的影响,因此在更新升级的过程中容易造成更新升级不成功的情况,导致更新升级程序不完整,并造成执行不完整程序的设备出现安全故障。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的目的在于提出一种DSP程序在线升级方法,能够对在线升级时写入的升级程序进行校验,从而保证写入的升级程序的完整性,提高执行升级程序的设备的安全性。
为达到上述目的,本发明实施例提出了一种DSP(DigitalSignalProcessing,数字信号处理器)程序在线升级方法,所述DSP的Flash包括Bootloader程序存储区和应用程序存储区,所述应用程序存储区包括程序备份区和程序运行区,所述方法包括以下步骤:S1,所述DSP在应用程序运行过程中接收到升级指令后,运行Bootloader程序;S2,在擦除所述程序备份区的原数据后,将升级程序写入所述程序备份区;S3,校验所述程序备份区的应用程序是否完整;S4,如果所述程序备份区的应用程序完整,则在擦除所述程序运行区的原数据后,将所述程序备份区当前的应用程序写入所述程序运行区。
根据本发明实施例的DSP程序在线升级方法,通过DSP在应用程序运行过程中接收到升级指令后运行Bootloader程序,并在擦除程序备份区的原数据后,将升级程序写入程序备份区,同时校验程序备份区的应用程序是否完整,如果程序备份区的应用程序完整,则在擦除程序运行区的原数据后,将程序备份区当前的应用程序写入程序运行区,由此,能够对在线升级时写入的升级程序进行校验,从而保证写入升级程序的完整性,提高执行升级程序的设备的安全性。
另外,根据本发明上述实施例提出的DSP程序在线升级方法还可以具有如下附加的技术特征:
根据本发明的一个实施例,所述的DSP程序在线升级方法还包括:所述DSP在上电后,运行Bootloader程序,并校验所述应用程序存储区的应用程序是否完整;如果所述应用程序存储区的应用程序完整且在预设时间内未接收到所述升级程序的传输信息,则运行所述程序运行区的当前应用程序;如果所述应用程序存储区的应用程序完整且在所述预设时间内接收到所述升级程序的传输信息,则执行步骤S2~S4;如果所述应用程序存储区的应用程序不完整,则等待接收所述升级程序,并在接收到所述升级程序的传输信息后执行步骤S2~S4。
根据本发明的一个实施例,所述的DSP程序在线升级方法还包括:在将所述升级程序写入所述程序备份区之前,校验所述升级程序是否正确。
根据本发明的一个实施例,所述的DSP程序在线升级方法还包括:如果所述程序备份区的应用程序不完整,则校验所述程序运行区的应用程序是否完整;如果所述程序运行区的应用程序完整,则运行所述程序运行区的当前应用程序;如果所述程序运行区的应用程序不完整,则等待接收所述升级程序,并在接收到所述升级程序的传输信息后执行步骤S2~S4。
根据本发明的一个实施例,通过对所述程序备份区、所述程序运行区或整个所述应用程序存储区的程序数据进行MD5(Message-DigestAlgorithm5,信息摘要算法)校验以校验其应用程序是否完整。
根据本发明的一个实施例,通过对将要写入所述程序备份区的每一帧升级程序数据进行CRC(Cyclic Redundancy Check,循环冗余校验)校验以校验所述升级程序是否正确。
附图说明
图1为本发明实施例的DSP程序在线升级方法的流程图;
图2为本发明一个具体实施例的DSP程序在线升级方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的一个实施例中,DSP的Flash包括Bootloader程序存储区和应用程序存储区,应用程序存储区包括程序备份区和程序运行区。例如,Flash可包括A~G区,其中,A区可作为Bootloader程序存储区,B、C、D区可作为程序运行区,E、F、G区可作为程序备份区。
基于上述Flash分区,如图1所示,本发明实施例的DSP程序在线升级方法包括步骤:
S1,DSP在应用程序运行过程中接收到升级指令后,运行Bootloader程序。
在本发明的一个实施例中,DSP在应用程序运行过程中接收到上位机的升级指令后,可跳转到Bootloader程序接收升级程序。
S2,在擦除程序备份区的原数据后,将升级程序写入程序备份区。
在本发明的一个实施例中,在接收到升级程序的传输信息,即升级程序的头帧后,首先可擦除程序备份区的原数据,然后再将升级程序写入程序备份区。
在本发明的一个实施例中,可在将升级程序写入程序备份区之前,校验升级程序是否正确。具体地,可通过对将要写入程序备份区的每一帧升级程序数据进行CRC校验以校验升级程序是否正确,如果升级程序正确,则将升级程序写入程序备份区。通过逐帧校验将要写入程序备份区的升级程序数据,能够保证写入的升级程序的正确性。
S3,校验程序备份区的应用程序是否完整。
在本发明的一个实施例中,可在升级程序完全写入程序备份区后,校验程序备份区的应用程序是否完整。
S4,如果程序备份区的应用程序完整,则在擦除程序运行区的原数据后,将程序备份区当前的应用程序写入程序运行区。
在本发明的一个实施例中,在将程序备份区当前的应用程序,即升级程序完全写入程序运行区后,DSP程序在线升级成功,并可在升级成功后执行程序运行区当前的应用程序,即升级程序。
在本发明的一个实施例中,DSP在上电后,可运行Bootloader程序,并校验应用程序存储区的应用程序是否完整。
进一步地,如果应用程序存储区的应用程序完整且在预设时间内,例如3S内未接收到升级程序的传输信息,即升级程序头帧,则运行程序运行区的当前应用程序;如果应用程序存储区的应用程序完整且在预设时间内接收到升级程序的传输信息,则执行步骤S2~S4;如果应用程序存储区的应用程序不完整,则等待接收升级程序,并在接收到升级程序的传输信息后执行步骤S2~S4。
在本发明的一个实施例中,如果程序备份区的应用程序不完整,则校验程序运行区的应用程序是否完整。
进一步地,如果程序运行区的应用程序完整,则运行程序运行区的当前应用程序;如果程序运行区的应用程序不完整,则等待接收升级程序,并在接收到升级程序的传输信息,即升级程序头帧后执行步骤S2~S4。
在本发明的一个实施例中,可通过对程序备份区、程序运行区或整个应用程序存储区的程序数据进行MD5校验以校验其应用程序是否完整。
下面将参照图2所示的DSP程序在线升级方法的具体流程图,进一步描述本发明实施例的DSP程序在线升级方法。
如图2所示,DSP在上电后或在应用程序运行过程中接收到上位机的更新指令后,均运行Bootloader程序,并可通过MD5校验应用程序存储区的应用程序是否完整。
进一步地,如果应用程序存储区的应用程序完整且在3S内没有接收到升级程序头帧,则运行程序运行区的当前应用程序;如果应用程序存储区的应用程序完整且在3S内接收到升级程序头帧,以及如果应用程序存储区的应用程序不完整且接收到升级程序头帧,则擦除程序备份区的原数据。
进一步地,当擦除程序备份区的原数据完成后,可将升级程序数据逐帧写入程序备份区,其中,每接收到一帧升级程序数据,均进行CRC校验,如果该帧升级程序数据正确,则将该帧升级程序数据写入程序备份区,由此可校验每一帧将要写入程序备份区的升级程序数据是否正确,并将每一帧通过校验的升级程序数据写入程序备份区。
进一步地,当升级程序完全写入程序备份区后,可通过MD5校验程序备份区的应用程序是否完整,如果程序备份区的应用程序完整,则在擦除程序运行区的原数据后,将程序备份区当前的应用程序写入程序运行区,并运行程序运行区的当前应用程序;如果程序备份区的应用程序不完整,则通过MD5校验程序运行区的应用程序是否完整。
进一步地,如果程序运行区的应用程序完整,则运行程序运行区的当前应用程序;如果程序运行区的应用程序不完整,则返回到等待接收升级程序的步骤。
根据本发明实施例提出的DSP程序在线升级方法,通过DSP在应用程序运行过程中接收到升级指令后运行Bootloader程序,并在擦除程序备份区的原数据后,将升级程序写入程序备份区,同时校验程序备份区的应用程序是否完整,如果程序备份区的应用程序完整,则在擦除程序运行区的原数据后,将程序备份区当前的应用程序写入程序运行区,由此,能够对在线升级时写入的升级程序进行校验,从而保证写入升级程序的完整性,提高执行升级程序的设备的安全性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.一种DSP程序在线升级方法,其特征在于,所述DSP的Flash包括Bootloader程序存储区和应用程序存储区,所述应用程序存储区包括程序备份区和程序运行区,所述方法包括以下步骤:
S1,所述DSP在应用程序运行过程中接收到升级指令后,运行Bootloader程序;
S2,在擦除所述程序备份区的原数据后,将升级程序写入所述程序备份区;
S3,校验所述程序备份区的应用程序是否完整;
S4,如果所述程序备份区的应用程序完整,则在擦除所述程序运行区的原数据后,将所述程序备份区当前的应用程序写入所述程序运行区。
2.根据权利要求1所述的DSP程序在线升级方法,其特征在于,还包括:
所述DSP在上电后,运行Bootloader程序,并校验所述应用程序存储区的应用程序是否完整;
如果所述应用程序存储区的应用程序完整且在预设时间内未接收到所述升级程序的传输信息,则运行所述程序运行区的当前应用程序;
如果所述应用程序存储区的应用程序完整且在所述预设时间内接收到所述升级程序的传输信息,则执行步骤S2~S4;
如果所述应用程序存储区的应用程序不完整,则等待接收所述升级程序,并在接收到所述升级程序的传输信息后执行步骤S2~S4。
3.根据权利要求2所述的DSP程序在线升级方法,其特征在于,还包括:
在将所述升级程序写入所述程序备份区之前,校验所述升级程序是否正确。
4.根据权利要求2或3所述的DSP程序在线升级方法,其特征在于,还包括:
如果所述程序备份区的应用程序不完整,则校验所述程序运行区的应用程序是否完整;
如果所述程序运行区的应用程序完整,则运行所述程序运行区的当前应用程序;
如果所述程序运行区的应用程序不完整,则等待接收所述升级程序,并在接收到所述升级程序的传输信息后执行步骤S2~S4。
5.根据权利要求4所述的DSP程序在线升级方法,其特征在于,通过对所述程序备份区、所述程序运行区或整个所述应用程序存储区的程序数据进行MD5校验以校验其应用程序是否完整。
6.根据权利要求3所述的DSP程序在线升级方法,其特征在于,通过对将要写入所述程序备份区的每一帧升级程序数据进行CRC校验以校验所述升级程序是否正确。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910957392.3A CN112650518A (zh) | 2019-10-10 | 2019-10-10 | Dsp程序在线升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910957392.3A CN112650518A (zh) | 2019-10-10 | 2019-10-10 | Dsp程序在线升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112650518A true CN112650518A (zh) | 2021-04-13 |
Family
ID=75342432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910957392.3A Pending CN112650518A (zh) | 2019-10-10 | 2019-10-10 | Dsp程序在线升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112650518A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127035A (zh) * | 2021-04-15 | 2021-07-16 | 沃太能源股份有限公司 | 一种基于单片机的可回溯的升级方法 |
CN113590154A (zh) * | 2021-07-27 | 2021-11-02 | 奇瑞新能源汽车股份有限公司 | 车机系统ota更新方法 |
WO2023061172A1 (zh) * | 2021-10-14 | 2023-04-20 | 华为技术有限公司 | 应用升级方法、装置、计算设备和芯片系统 |
CN116501357A (zh) * | 2023-06-28 | 2023-07-28 | 广东高斯宝电气技术有限公司 | 一种单片机的在线升级方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103916440A (zh) * | 2013-01-05 | 2014-07-09 | 尼尔森网联媒介数据服务有限公司 | 一种远程升级的方法及其装置 |
CN109101261A (zh) * | 2018-08-06 | 2018-12-28 | 沈阳维尔环保工程有限公司 | 一种数据采集传输仪终端的远程在线升级方法及系统 |
CN109117168A (zh) * | 2018-08-29 | 2019-01-01 | 拓攻(南京)机器人有限公司 | 无人机固件更新方法、装置、无人机及存储介质 |
CN109388413A (zh) * | 2017-08-03 | 2019-02-26 | 中车株洲电力机车研究所有限公司 | 一种fpga程序更新方法及系统 |
CN110134415A (zh) * | 2019-04-12 | 2019-08-16 | 深圳市致宸信息科技有限公司 | 一种控制器及其软件升级方法和装置 |
-
2019
- 2019-10-10 CN CN201910957392.3A patent/CN112650518A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103916440A (zh) * | 2013-01-05 | 2014-07-09 | 尼尔森网联媒介数据服务有限公司 | 一种远程升级的方法及其装置 |
CN109388413A (zh) * | 2017-08-03 | 2019-02-26 | 中车株洲电力机车研究所有限公司 | 一种fpga程序更新方法及系统 |
CN109101261A (zh) * | 2018-08-06 | 2018-12-28 | 沈阳维尔环保工程有限公司 | 一种数据采集传输仪终端的远程在线升级方法及系统 |
CN109117168A (zh) * | 2018-08-29 | 2019-01-01 | 拓攻(南京)机器人有限公司 | 无人机固件更新方法、装置、无人机及存储介质 |
CN110134415A (zh) * | 2019-04-12 | 2019-08-16 | 深圳市致宸信息科技有限公司 | 一种控制器及其软件升级方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127035A (zh) * | 2021-04-15 | 2021-07-16 | 沃太能源股份有限公司 | 一种基于单片机的可回溯的升级方法 |
CN113590154A (zh) * | 2021-07-27 | 2021-11-02 | 奇瑞新能源汽车股份有限公司 | 车机系统ota更新方法 |
CN113590154B (zh) * | 2021-07-27 | 2024-04-05 | 奇瑞新能源汽车股份有限公司 | 车机系统ota更新方法 |
WO2023061172A1 (zh) * | 2021-10-14 | 2023-04-20 | 华为技术有限公司 | 应用升级方法、装置、计算设备和芯片系统 |
CN116501357A (zh) * | 2023-06-28 | 2023-07-28 | 广东高斯宝电气技术有限公司 | 一种单片机的在线升级方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112650518A (zh) | Dsp程序在线升级方法 | |
CN106569847B (zh) | 一种用于车载系统基于移动网络实现iap远程升级的方法 | |
CN109358887B (zh) | 一种单片机程序的在线升级方法、装置及系统 | |
CN102609326B (zh) | 一种数据下载处理方法及装置 | |
US9027014B2 (en) | Updating firmware compatibility data | |
CN106325929B (zh) | 一种固件升级方法、固件升级装置、冰箱和服务端 | |
CN102147747B (zh) | 增强的升级路径的系统和方法 | |
US20110320794A1 (en) | Flash System And Method For Updating The Flash System | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
CN106681783A (zh) | 一种svn代码检测方法及其系统 | |
CN113467813A (zh) | 一种控制器在线升级方法、装置、电子设备及存储介质 | |
CN102981872A (zh) | 终端设备开机、升级方法和终端设备 | |
CN112433769A (zh) | 一种bmc启动方法、装置、计算机设备及存储介质 | |
CN112015447A (zh) | 电子设备的系统更新方法及装置、电子设备及存储介质 | |
CN107894900B (zh) | 一种mcu升级的方法及系统 | |
CN113220319A (zh) | 一种数据更新方法、装置及车辆 | |
CN112925546B (zh) | 一种防止车载ecu刷新出错的多级校验方法及系统 | |
CN114115957A (zh) | 一种带备份的fpga在线更新方法及其系统 | |
CN111124455B (zh) | 一种电池管理系统升级方法、装置、服务器及存储介质 | |
US11429537B2 (en) | Method, device, and computer program product for managing storage system | |
CN107480007B (zh) | 一种程序冗余校验与纠错的方法 | |
CN105577451A (zh) | 云电视系统的升级方法及装置 | |
CN110618824A (zh) | 一种软件升级方法、装置、介质和设备 | |
CN111857664B (zh) | 一种应用开发的方法、装置、设备及存储介质 | |
CN115421761A (zh) | 微控制单元应用程序升级方法、装置、系统、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |