CN112363746B - 一种双核dsp在线升级方法 - Google Patents
一种双核dsp在线升级方法 Download PDFInfo
- Publication number
- CN112363746B CN112363746B CN202011314122.XA CN202011314122A CN112363746B CN 112363746 B CN112363746 B CN 112363746B CN 202011314122 A CN202011314122 A CN 202011314122A CN 112363746 B CN112363746 B CN 112363746B
- Authority
- CN
- China
- Prior art keywords
- cpu1
- cpu2
- upgrade
- upgrading
- bootloader
- 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.)
- Active
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及系统在线升级技术领域,具体涉及一种双核DSP在线升级方法,包括双核DSP和上位软件,所述双核DSP包括两组CPU,分别为CPU1和CPU2,所述CPU1和CPU2皆具有各自的Flash,所述双核DSP升级过程分为如下三个阶段:(1)CPU1的Bootloader准备过程;(2)CPU1和CPU2的升级过程;(3)完成烧录工作。该双核DSP在线升级方法通过将Bootloader内置到芯片内部,不需要依赖编程器、仿真器等特定工具,也无需配置GPIO引脚状态,实现双核DSP快速在线升级,同时,将烧录内核直接固化到Flash中,省略下载内核的过程,同时支持双核DSP升级,并且设计了防止烧录失败功能。
Description
技术领域
本发明涉及系统在线升级技术领域,具体涉及一种双核DSP在线升级方法。
背景技术
对于嵌入式系统而言,主控芯片的升级越来越重要,传统的升级方式需要依赖编程器、仿真器等特定工具,并且需要保留JTAG接口,或采用外设引导方式(如SCI boot)时需要配置GPIO引脚状态,在客户现场升级时带来诸多不便之处,例如,需要依赖编程器、仿真器等特定工具,需配置GPIO引脚状态,实现在线升级,同时,现有的DSP在线升级仅针对单核产品开发,没有考虑到双核DSP的方案,因此,设计出一种双核DSP在线升级方法,对于目前系统在线升级技术领域来说是迫切需要的。
发明内容
本发明提供一种双核DSP在线升级方法,以解决现有技术存在的问题。
为了实现上述目的,本发明实施例提供如下技术方案:
根据本发明的实施例,一种双核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的Bootloader等待上位软件发送升级命令,假如上位软件发送的是升级CPU2的命令,CPU1的Bootloader接收到升级CPU2命令后,然后将SCI控制权交给CPU2,将CPU2从Flash引导起来,通过共享内存通知CPU2的Bootloader执行升级过程,
CPU2的Bootloader启动后读取共享内存为执行升级命令后开始烧写流程,对CPU2进行解锁,接收升级CPU2升级命令,通知CPU1,CPU2开始烧录之后擦除,烧录CPU2固件,烧录完成后通过共享内存通知CPU1已经完成烧录,CPU1查询CPU2的烧录状态,当CPU2开始烧录后,将bit3置1;当CPU2完成烧录时,将bit3清0;
(3)完成烧录工作后,将升级状态标志位bit3改为0,然后判定bit2和bit3是否同为0,若为全0,将bit0-bit1清零,若不为全0,则重复以上操作。
进一步地,所述CPU1和CPU2的Flash分别为sector A~sector N,CPU1和CPU2的Bootloader在sector A内部。
进一步地,所述升级状态标志位包括bit0-bit1、bit2和bit3,bit0-bit1为需要升级的标识,其中,0X01表示需要升级,其他值则表示不需要升级,bit2位的1表示CPU1升级未完成,bit2位的0表示CPU1升级完成,bit3位的1表示CPU2升级未完成,bit3位的0表示升级完成。
本发明具有如下优点:
该双核DSP在线升级方法通过将Bootloader内置到芯片内部,不需要依赖编程器、仿真器等特定工具,也无需配置GPIO引脚状态,实现双核DSP快速在线升级,同时,将烧录内核直接固化到Flash中,省略下载内核的过程,同时支持双核DSP升级,并且设计了防止烧录失败功能。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
本发明提供一种技术方案:
一种双核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的Bootloader等待上位软件发送升级命令,假如上位软件发送的是升级CPU2的命令,CPU1的Bootloader接收到升级CPU2命令后,然后将SCI控制权交给CPU2,将CPU2从Flash引导起来,通过共享内存通知CPU2的Bootloader执行升级过程,
CPU2的Bootloader启动后读取共享内存为执行升级命令后开始烧写流程,对CPU2进行解锁,接收升级CPU2升级命令,通知CPU1,CPU2开始烧录之后擦除,烧录CPU2固件,烧录完成后通过共享内存通知CPU1已经完成烧录,CPU1查询CPU2的烧录状态,当CPU2开始烧录后,将bit3置1;当CPU2完成烧录时,将bit3清0;
(3)完成烧录工作后,将升级状态标志位bit3改为0,然后判定bit2和bit3是否同为0,若为全0,将bit0-bit1清零,若不为全0,则重复以上操作。
本发明中:CPU1和CPU2的Flash分别为sector A~sector N,CPU1和CPU2的Bootloader在sector A内部,通过将Bootloader内置到芯片内部,不需要依赖编程器、仿真器等特定工具,也无需配置GPIO引脚状态,实现双核DSP快速在线升级。
本发明中:升级状态标志位包括bit0-bit1、bit2和bit3,bit0-bit1为需要升级的标识,其中,0X01表示需要升级,其他值则表示不需要升级,bit2位的1表示CPU1升级未完成,bit2位的0表示CPU1升级完成,bit3位的1表示CPU2升级未完成,bit3位的0表示升级完成,升级状态标志位的设置使系统升级的提示更加简单,简化了在线升级的流程。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (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升级;
②CPU2升级:
在完成第(1)步之后,CPU1的Bootloader等待上位软件发送升级命令,假如上位软件发送的是升级CPU2的命令,CPU1的Bootloader接收到升级CPU2命令后,然后将SCI控制权交给CPU2,将CPU2从Flash引导起来,通过共享内存通知CPU2的Bootloader执行升级过程,
CPU2的Bootloader启动后读取共享内存为执行升级命令后开始烧写流程,对CPU2进行解锁,接收升级CPU2升级命令,通知CPU1,CPU2开始烧录之后擦除,烧录CPU2固件,烧录完成后通过共享内存通知CPU1已经完成烧录,CPU1查询CPU2的烧录状态,当CPU2开始烧录后,将bit3置1;当CPU2完成烧录时,将bit3清0;
(3)完成烧录工作后,将升级状态标志位bit3改为0,然后判定bit2和bit3是否同为0,若为全0,将bit0-bit1清零,若不为全0,则执行CPU1升级;
所述CPU1和CPU2的Flash分别为sector A~sector N,CPU1和CPU2的Bootloader分别在各自的sector A内部;
所述升级状态标志位包括bit0-bit1、bit2和bit3,bit0-bit1为需要升级的标识,其中,0X01表示需要升级,其他值则表示不需要升级,bit2位的1表示CPU1升级未完成,bit2位的0表示CPU1升级完成,bit3位的1表示CPU2升级未完成,bit3位的0表示升级完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011314122.XA CN112363746B (zh) | 2020-11-20 | 2020-11-20 | 一种双核dsp在线升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011314122.XA CN112363746B (zh) | 2020-11-20 | 2020-11-20 | 一种双核dsp在线升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112363746A CN112363746A (zh) | 2021-02-12 |
CN112363746B true CN112363746B (zh) | 2023-06-02 |
Family
ID=74533784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011314122.XA Active CN112363746B (zh) | 2020-11-20 | 2020-11-20 | 一种双核dsp在线升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112363746B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254053B (zh) * | 2021-06-11 | 2021-11-02 | 季华实验室 | 一种双cpu系统的固件升级方法、系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976452A (zh) * | 2006-12-11 | 2007-06-06 | 浙江大学 | 基于单芯片双核dsp架构的多路视频压缩系统 |
CN104102518A (zh) * | 2014-07-23 | 2014-10-15 | 江苏兆伏新能源有限公司 | 一种双cpu系统及其程序升级方法 |
CN105183523A (zh) * | 2015-09-29 | 2015-12-23 | 国网智能电网研究院 | 一种dsp程序的远程升级方法 |
CN106951289A (zh) * | 2017-03-23 | 2017-07-14 | 苏州英威腾电力电子有限公司 | 一种在线升级方法、dsp控制器及升级系统 |
CN108845811A (zh) * | 2018-05-30 | 2018-11-20 | 武汉高仕达电气有限公司 | 一种基于can总线的双核dsp固件升级方法及系统 |
-
2020
- 2020-11-20 CN CN202011314122.XA patent/CN112363746B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976452A (zh) * | 2006-12-11 | 2007-06-06 | 浙江大学 | 基于单芯片双核dsp架构的多路视频压缩系统 |
CN104102518A (zh) * | 2014-07-23 | 2014-10-15 | 江苏兆伏新能源有限公司 | 一种双cpu系统及其程序升级方法 |
CN105183523A (zh) * | 2015-09-29 | 2015-12-23 | 国网智能电网研究院 | 一种dsp程序的远程升级方法 |
CN106951289A (zh) * | 2017-03-23 | 2017-07-14 | 苏州英威腾电力电子有限公司 | 一种在线升级方法、dsp控制器及升级系统 |
CN108845811A (zh) * | 2018-05-30 | 2018-11-20 | 武汉高仕达电气有限公司 | 一种基于can总线的双核dsp固件升级方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112363746A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5694600A (en) | Methods and apparatus for booting a computer having a removable media disk drive | |
CN102945173B (zh) | 用户程序在线升级系统和升级方法 | |
CN112363746B (zh) | 一种双核dsp在线升级方法 | |
JPH0758503B2 (ja) | Icカード | |
CN111284450B (zh) | 用于增强车辆控制器的安全性的方法和设备 | |
CN111694594B (zh) | 补丁程序的控制方法和系统 | |
JPH03125222A (ja) | データ処理システムを構成する方法及び装置 | |
CN116643801B (zh) | 一种芯片安全启动地址空间修复的方法及芯片 | |
US6704865B1 (en) | Microprocessor conditional deterministic reset vector method | |
CN110377303A (zh) | 基于备用存储区方式升级程序的方法及其设备 | |
CN113608769B (zh) | 一种基于多单片机并行处理及自我升级的方法 | |
CN106775796B (zh) | 一种固件升级方法、装置及系统 | |
CN116431186A (zh) | 一种车载ecu的升级方法、装置及介质 | |
US7281103B2 (en) | Microcomputer with a security function for accessing a program storage memory | |
CN113814805B (zh) | 周边磨床的可转位刀片的加工方法及系统 | |
CN211264295U (zh) | 多版本程序加载结构 | |
WO2018121735A1 (zh) | 一种舵机信息防丢失方法及装置 | |
CN220773576U (zh) | 一种固件升级系统 | |
CN114003253A (zh) | 基于Aurix芯片的内部FLASH程序远程更新方法及装置 | |
CN112783519B (zh) | 一种用于测量短节的应用程序更新方法和系统 | |
CN106843926B (zh) | 高效可靠的adi-dsp固件启动、升级与还原的方法 | |
CN118034998A (zh) | 控制器启动方法、控制器及控制系统 | |
JP3317601B2 (ja) | プログラマブルコントローラ | |
CN119203112A (zh) | 基于多设备树文件的设备识别启动方法、装置及系统 | |
WO2024108456A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |