一种双核DSP在线升级方法技术

技术编号:27368643 阅读:36 留言:0更新日期:2021-02-19 13:53
本发明专利技术涉及系统在线升级技术领域,具体涉及一种双核DSP在线升级方法,包括双核DSP和上位软件,所述双核DSP包括两组CPU,分别为CPU1和CPU2,所述CPU1和CPU2皆具有各自的Flash,所述双核DSP升级过程分为如下三个阶段:(1)CPU1的Bootloader准备过程;(2)CPU1和CPU2的升级过程;(3)完成烧录工作。该双核DSP在线升级方法通过将Bootloader内置到芯片内部,不需要依赖编程器、仿真器等特定工具,也无需配置GPIO引脚状态,实现双核DSP快速在线升级,同时,将烧录内核直接固化到Flash中,省略下载内核的过程,同时支持双核DSP升级,并且设计了防止烧录失败功能。录失败功能。

【技术实现步骤摘要】
一种双核DSP在线升级方法


[0001]本专利技术涉及系统在线升级
,具体涉及一种双核DSP在线升级方法。

技术介绍

[0002]对于嵌入式系统而言,主控芯片的升级越来越重要,传统的升级方式需要依赖编程器、仿真器等特定工具,并且需要保留JTAG接口,或采用外设引导方式(如SCI boot)时需要配置GPIO引脚状态,在客户现场升级时带来诸多不便之处,例如,需要依赖编程器、仿真器等特定工具,需配置GPIO引脚状态,实现在线升级,同时,现有的DSP在线升级仅针对单核产品开发,没有考虑到双核DSP的方案,因此,设计出一种双核DSP在线升级方法,对于目前系统在线升级
来说是迫切需要的。

技术实现思路

[0003]本专利技术提供一种双核DSP在线升级方法,以解决现有技术存在的问题。
[0004]为了实现上述目的,本专利技术实施例提供如下技术方案:
[0005]根据本专利技术的实施例,一种双核DSP在线升级方法,包括双核DSP和上位软件,所述双核DSP包括两组CPU,分别为CPU1和CPU2,所述CPU1和CPU2皆具有各自的Flash,所述双核DSP升级过程分为如下三个阶段:
[0006](1)CPU1的Bootloader准备过程:
[0007]上位软件发送升级固件命令后,CPU1在上位软件中将升级状态标志位bit0-bit1设为0X01后跳转到Bootloader开始执行,在Bootloader完成系统初始化后,查询bit0-bit1是进入升级流程还是跳转到应用程序,
[0008]进入升级流程后,Bootloader将两组CPU解锁,将Flash操作拷贝到RAM区,Bootloader将升级状态标志位回复给上位软件,上位软件以升级状态标志位提示用户目前CPU1和CPU2是否有烧录异常,若有升级失败的CPU,提示用户必须升级该CPU固件,若无升级失败的CPU,则直接执行下一步;
[0009](2)CPU1和CPU2的升级过程:
[0010]①
CPU1升级:
[0011]在完成第(1)步之后,CPU1的Bootloader等待上位软件发送升级命令,假如上位软件发送的是升级CPU1的命令,Bootloader收到升级CPU1命令后,将升级状态标志位bit2改为1,之后擦除,烧录CPU1固件,烧录完成后将升级状态标志位bit2改为0,若只升级CPU1则判定bit2和bit3是否同为0,若为全0,将bit0-bit1清零,若不为全0,则重复以上操作;
[0012]②
CPU2升级:
[0013]在完成第(1)步之后,CPU1的Bootloader等待上位软件发送升级命令,假如上位软件发送的是升级CPU2的命令,CPU1的Bootloader接收到升级CPU2命令后,然后将SCI控制权交给CPU2,将CPU2从Flash引导起来,通过共享内存通知CPU2的Bootloader执行升级过程,
[0014]CPU2的Bootloader启动后读取共享内存为执行升级命令后开始烧写流程,对CPU2
进行解锁,接收升级CPU2升级命令,通知CPU1,CPU2开始烧录之后擦除,烧录CPU2固件,烧录完成后通过共享内存通知CPU1已经完成烧录,CPU1查询CPU2的烧录状态,当CPU2开始烧录后,将bit3置1;当CPU2完成烧录时,将bit3清0;
[0015](3)完成烧录工作后,将升级状态标志位bit3改为0,然后判定bit2和bit3是否同为0,若为全0,将bit0-bit1清零,若不为全0,则重复以上操作。
[0016]进一步地,所述CPU1和CPU2的Flash分别为sector A~sector N,CPU1和CPU2的Bootloader在sector A内部。
[0017]进一步地,所述升级状态标志位包括bit0-bit1、bit2和bit3,bit0-bit1为需要升级的标识,其中,0X01表示需要升级,其他值则表示不需要升级,bit2位的1表示CPU1升级未完成,bit2位的0表示CPU1升级完成,bit3位的1表示CPU2升级未完成,bit3位的0表示升级完成。
[0018]本专利技术具有如下优点:
[0019]该双核DSP在线升级方法通过将Bootloader内置到芯片内部,不需要依赖编程器、仿真器等特定工具,也无需配置GPIO引脚状态,实现双核DSP快速在线升级,同时,将烧录内核直接固化到Flash中,省略下载内核的过程,同时支持双核DSP升级,并且设计了防止烧录失败功能。
具体实施方式
[0020]以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0021]本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”等的用语,亦仅为便于叙述的明了,而非用以限定本专利技术可实施的范围,其相对关系的改变或调整,在无实质变更
技术实现思路
下,当亦视为本专利技术可实施的范畴。
[0022]本专利技术提供一种技术方案:
[0023]一种双核DSP在线升级方法,包括双核DSP和上位软件,双核DSP包括两组CPU,分别为CPU1和CPU2,CPU1和CPU2皆具有各自的Flash,双核DSP升级过程分为如下三个阶段:
[0024](1)CPU1的Bootloader准备过程:
[0025]上位软件发送升级固件命令后,CPU1在上位软件中将升级状态标志位bit0-bit1设为0X01后跳转到Bootloader开始执行,在Bootloader完成系统初始化后,查询bit0-bit1是进入升级流程还是跳转到应用程序,
[0026]进入升级流程后,Bootloader将两组CPU解锁,将Flash操作拷贝到RAM区,Bootloader将升级状态标志位回复给上位软件,上位软件以升级状态标志位提示用户目前CPU1和CPU2是否有烧录异常,若有升级失败的CPU,提示用户必须升级该CPU固件,若无升级失败的CPU,则直接执行下一步;
[0027](2)CPU1和CPU2的升级过程:
[0028]①
CPU1升级:
[0029]在完成第(1)步之后,CPU1的Bootloader等待上位软件发送升级命令,假如上位软
件发送的是升级CPU1的命令,Bootloader收到升级CPU1命令后,将升级状态标志位bit2改为1,之后擦除,烧录CPU1固件,烧录完成后将升级状态标志位bit2改为0,若只升级CPU1则判定bit2和bit3是否同为0,若为全0,将bit0-bit1清零,若不为全0,则重复以上操作;
[0030]②
CPU2升级:
[0031]在完成第(1)步之后本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种双核DSP在线升级方法,包括双核DSP和上位软件,其特征在于:所述双核DSP包括两组CPU,分别为CPU1和CPU2,所述CPU1和CPU2皆具有各自的Flash,所述双核DSP升级过程分为如下三个阶段:(1)CPU1的Bootloader准备过程:上位软件发送升级固件命令后,CPU1在上位软件中将升级状态标志位bit0-bit1设为0X01后跳转到Bootloader开始执行,在Bootloader完成系统初始化后,查询bit0-bit1是进入升级流程还是跳转到应用程序,进入升级流程后,Bootloader将两组CPU解锁,将Flash操作拷贝到RAM区,Bootloader将升级状态标志位回复给上位软件,上位软件以升级状态标志位提示用户目前CPU1和CPU2是否有烧录异常,若有升级失败的CPU,提示用户必须升级该CPU固件,若无升级失败的CPU,则直接执行下一步;(2)CPU1和CPU2的升级过程:

CPU1升级:在完成第(1)步之后,CPU1的Bootloader等待上位软件发送升级命令,假如上位软件发送的是升级CPU1的命令,Bootloader收到升级CPU1命令后,将升级状态标志位bit2改为1,之后擦除,烧录CPU1固件,烧录完成后将升级状态标志位bit2改为0,若只升级CPU1则判定bit2和bit3是否同为0,若为全0,将bit0-bit1清零,若不为全0,则重复以上操作;

CPU2升级:在完成第(1)步之后,CPU1的Bo...

【专利技术属性】
技术研发人员:王裕刘波汤小平
申请(专利权)人:芜湖清能德创电子技术有限公司
类型:发明
国别省市:

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

1