DSP程序在线升级方法技术

技术编号:28049669 阅读:25 留言:0更新日期:2021-04-14 13:06
本发明专利技术提供了一种DSP程序在线升级方法,DSP的Flash包括Bootloader程序存储区和应用程序存储区,应用程序存储区包括程序备份区和程序运行区,所述方法包括以下步骤:S1,DSP在应用程序运行过程中接收到升级指令后,运行Bootloader程序;S2,在擦除程序备份区的原数据后,将升级程序写入程序备份区;S3,校验程序备份区的应用程序是否完整;S4,如果程序备份区的应用程序完整,则在擦除程序运行区的原数据后,将程序备份区当前的应用程序写入程序运行区。本发明专利技术能够对在线升级时写入的升级程序进行校验,从而保证写入的升级程序的完整性,提高执行升级程序的设备的安全性。提高执行升级程序的设备的安全性。提高执行升级程序的设备的安全性。

【技术实现步骤摘要】
DSP程序在线升级方法


[0001]本专利技术涉及程序升级
,具体涉及一种DSP程序在线升级方法。

技术介绍

[0002]随着电子技术的发展,以DSP(DigitalSignalProcessing,数字信号处理器)为核心的各种产品在多个领域得到广泛应用,这些电子产品在使用周期内通常需要进行程序的升级维护。
[0003]目前在线升级电子产品的程序较为普遍,在线升级具有简单方便,用户体验高等优点。然而,由于在进行电子产品程序在线更新升级过程中会受到多种外界因素的影响,因此在更新升级的过程中容易造成更新升级不成功的情况,导致更新升级程序不完整,并造成执行不完整程序的设备出现安全故障。

技术实现思路

[0004]本专利技术旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本专利技术的目的在于提出一种DSP程序在线升级方法,能够对在线升级时写入的升级程序进行校验,从而保证写入的升级程序的完整性,提高执行升级程序的设备的安全性。
[0005]为达到上述目的,本专利技术实施例提出了一种DSP(DigitalSignalProcessing,数字信号处理器)程序在线升级方法,所述DSP的Flash包括Bootloader程序存储区和应用程序存储区,所述应用程序存储区包括程序备份区和程序运行区,所述方法包括以下步骤:S1,所述DSP在应用程序运行过程中接收到升级指令后,运行Bootloader程序;S2,在擦除所述程序备份区的原数据后,将升级程序写入所述程序备份区;S3,校验所述程序备份区的应用程序是否完整;S4,如果所述程序备份区的应用程序完整,则在擦除所述程序运行区的原数据后,将所述程序备份区当前的应用程序写入所述程序运行区。
[0006]根据本专利技术实施例的DSP程序在线升级方法,通过DSP在应用程序运行过程中接收到升级指令后运行Bootloader程序,并在擦除程序备份区的原数据后,将升级程序写入程序备份区,同时校验程序备份区的应用程序是否完整,如果程序备份区的应用程序完整,则在擦除程序运行区的原数据后,将程序备份区当前的应用程序写入程序运行区,由此,能够对在线升级时写入的升级程序进行校验,从而保证写入升级程序的完整性,提高执行升级程序的设备的安全性。
[0007]另外,根据本专利技术上述实施例提出的DSP程序在线升级方法还可以具有如下附加的技术特征:
[0008]根据本专利技术的一个实施例,所述的DSP程序在线升级方法还包括:所述DSP在上电后,运行Bootloader程序,并校验所述应用程序存储区的应用程序是否完整;如果所述应用程序存储区的应用程序完整且在预设时间内未接收到所述升级程序的传输信息,则运行所述程序运行区的当前应用程序;如果所述应用程序存储区的应用程序完整且在所述预设时间内接收到所述升级程序的传输信息,则执行步骤S2~S4;如果所述应用程序存储区的应
用程序不完整,则等待接收所述升级程序,并在接收到所述升级程序的传输信息后执行步骤S2~S4。
[0009]根据本专利技术的一个实施例,所述的DSP程序在线升级方法还包括:在将所述升级程序写入所述程序备份区之前,校验所述升级程序是否正确。
[0010]根据本专利技术的一个实施例,所述的DSP程序在线升级方法还包括:如果所述程序备份区的应用程序不完整,则校验所述程序运行区的应用程序是否完整;如果所述程序运行区的应用程序完整,则运行所述程序运行区的当前应用程序;如果所述程序运行区的应用程序不完整,则等待接收所述升级程序,并在接收到所述升级程序的传输信息后执行步骤S2~S4。
[0011]根据本专利技术的一个实施例,通过对所述程序备份区、所述程序运行区或整个所述应用程序存储区的程序数据进行MD5(Message-DigestAlgorithm5,信息摘要算法)校验以校验其应用程序是否完整。
[0012]根据本专利技术的一个实施例,通过对将要写入所述程序备份区的每一帧升级程序数据进行CRC(Cyclic Redundancy Check,循环冗余校验)校验以校验所述升级程序是否正确。
附图说明
[0013]图1为本专利技术实施例的DSP程序在线升级方法的流程图;
[0014]图2为本专利技术一个具体实施例的DSP程序在线升级方法的流程图。
具体实施方式
[0015]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0016]在本专利技术的一个实施例中,DSP的Flash包括Bootloader程序存储区和应用程序存储区,应用程序存储区包括程序备份区和程序运行区。例如,Flash可包括A~G区,其中,A区可作为Bootloader程序存储区,B、C、D区可作为程序运行区,E、F、G区可作为程序备份区。
[0017]基于上述Flash分区,如图1所示,本专利技术实施例的DSP程序在线升级方法包括步骤:
[0018]S1,DSP在应用程序运行过程中接收到升级指令后,运行Bootloader程序。
[0019]在本专利技术的一个实施例中,DSP在应用程序运行过程中接收到上位机的升级指令后,可跳转到Bootloader程序接收升级程序。
[0020]S2,在擦除程序备份区的原数据后,将升级程序写入程序备份区。
[0021]在本专利技术的一个实施例中,在接收到升级程序的传输信息,即升级程序的头帧后,首先可擦除程序备份区的原数据,然后再将升级程序写入程序备份区。
[0022]在本专利技术的一个实施例中,可在将升级程序写入程序备份区之前,校验升级程序是否正确。具体地,可通过对将要写入程序备份区的每一帧升级程序数据进行CRC校验以校验升级程序是否正确,如果升级程序正确,则将升级程序写入程序备份区。通过逐帧校验将
要写入程序备份区的升级程序数据,能够保证写入的升级程序的正确性。
[0023]S3,校验程序备份区的应用程序是否完整。
[0024]在本专利技术的一个实施例中,可在升级程序完全写入程序备份区后,校验程序备份区的应用程序是否完整。
[0025]S4,如果程序备份区的应用程序完整,则在擦除程序运行区的原数据后,将程序备份区当前的应用程序写入程序运行区。
[0026]在本专利技术的一个实施例中,在将程序备份区当前的应用程序,即升级程序完全写入程序运行区后,DSP程序在线升级成功,并可在升级成功后执行程序运行区当前的应用程序,即升级程序。
[0027]在本专利技术的一个实施例中,DSP在上电后,可运行Bootloader程序,并校验应用程序存储区的应用程序是否完整。
[0028]进一步地,如果应用程序存储区的应用程序完整且在预设时间内,例如3S内未接收到升级程序的传输信息,即升级程序头帧,则运行程序运行区的当前应用程序;如果应用程序存储本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种DSP程序在线升级方法,其特征在于,所述DSP的Flash包括Bootloader程序存储区和应用程序存储区,所述应用程序存储区包括程序备份区和程序运行区,所述方法包括以下步骤:S1,所述DSP在应用程序运行过程中接收到升级指令后,运行Bootloader程序;S2,在擦除所述程序备份区的原数据后,将升级程序写入所述程序备份区;S3,校验所述程序备份区的应用程序是否完整;S4,如果所述程序备份区的应用程序完整,则在擦除所述程序运行区的原数据后,将所述程序备份区当前的应用程序写入所述程序运行区。2.根据权利要求1所述的DSP程序在线升级方法,其特征在于,还包括:所述DSP在上电后,运行Bootloader程序,并校验所述应用程序存储区的应用程序是否完整;如果所述应用程序存储区的应用程序完整且在预设时间内未接收到所述升级程序的传输信息,则运行所述程序运行区的当前应用程序;如果所述应用程序存储区的应用程序完整且在所述预设时间内接收到所述升级程序的传输信息,则执行步骤S2~S4;如果所述应用...

【专利技术属性】
技术研发人员:于筝筝毛宇阳任金彦杨志
申请(专利权)人:国创新能源汽车能源与信息创新中心江苏有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1