CN115756558A - 一种可在线引导重启并校验的dsp软件在线升级方法 - Google Patents
一种可在线引导重启并校验的dsp软件在线升级方法 Download PDFInfo
- Publication number
- CN115756558A CN115756558A CN202211427021.2A CN202211427021A CN115756558A CN 115756558 A CN115756558 A CN 115756558A CN 202211427021 A CN202211427021 A CN 202211427021A CN 115756558 A CN115756558 A CN 115756558A
- Authority
- CN
- China
- Prior art keywords
- application program
- upgrading
- program
- online
- flash
- 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
Images
Classifications
-
- 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
- Stored Programmes (AREA)
Abstract
本发明提供了一种可在线引导重启并校验的DSP软件在线升级方法。将DSP软件分为引导程序和应用程序两个部分,由引导程序监测和响应软件升级指令、执行应用程序的升级作业;完成应用程序更新后,在设备不下电的情况下检查应用程序功能正常才确认升级任务完成。本发明可提高DSP软件升级的便捷性和可靠性,降低产品维护成本。
Description
技术领域
本发明属数字信号处理器软件开发应用领域,具体涉及一种可在线引导重启并校验的DSP软件在线升级方法。
背景技术
DSP是在嵌入式产品里广泛应用的高速数字信号处理芯片。在当前产品快速更迭、用户需求频繁变化的市场形势下,产品开发方对DSP软件的升级任务随之越来越频繁。对DSP进行软件升级的传统方法是通过电路板上的JTAG接口连接仿真器,通过CCS软件将待更新应用程序加载到DSP内完成程序升级。此方法的缺点是JTAG接口通信距离短,连接不方便、不可靠,且必须使用配套、专用的DSP仿真器,升级计算机需要具备CCS开发环境。目前常见的在线升级方法建立在升级后下电重启、应用程序可正常执行的前提下,即使采用了应用程序双FLASH空间备份的设计,也不能应对升级文件意外出错的情况。因此需要设计一种操作便捷、功能可靠的在线升级方法,使用普通计算机的常用接口即可完成升级,降低DSP软件升级成本,同时应充分考虑各种容错设计,保证妥善应对升级过程中可能出来的意外情况。
发明内容
为了克服传统JTAG接口升级DSP软件的效率低、成本高以及一般DSP软件在线升级方法的可靠性不足的问题,本发明提供一种可在线引导重启并校验的DSP软件在线升级方法。将DSP软件分为引导程序和应用程序两个部分,由引导程序监测和响应软件升级指令、执行应用程序的升级作业。完成应用程序更新后,在设备不下电的情况下检查应用程序功能正常才确认升级任务完成。本发明可提高DSP软件升级的便捷性和可靠性,降低产品维护成本。
一种可在线引导重启并校验的DSP软件在线升级方法,其特征在于:所述的DSP软件分为引导程序和应用程序两个部分,引导程序和应用程序在FLASH中隔离固化,引导程序负责引导应用程序启动、响应执行软件升级任务,固化在FLASH的0扇区,在每次升级操作中不会改变,应用程序负责软件功能,其中设计有跳转至当前程序主函数入口的代码,用于确定引导该应用程序启动时的入口地址,每个应用程序在FLASH中有两个固化地址,每次升级时切换存储;FLASH中还包括应用程序校验区,用于存储指示各个应用程序的固化地址、长度和合法性校验信息;
DSP软件在线升级具体步骤如下:
步骤1:DSP上电后,从引导程序存储区加载引导程序并运行,完成内核、外设和接口的初始化;
步骤2:从应用程序校验区读取指示信息并判断是否已固化相应的应用程序,若有则启动对应的应用程序并执行;
步骤3:引导程序以定时中断的方式保持对外部升级指令的周期监测;
步骤4:若接收到升级指令,进入引导程序的软件升级中断服务程序,关闭其它任务,根据应用程序校验区的指示信息判断本次升级应用程序待固化的FLASH空间,擦除对应空间;
步骤5:接收上位机发送的应用程序升级文件并校验、写入FLASH,若接收失败或者校验错误,向上位机反馈升级失败,返回执行步骤2;若升级文件接收完成且校验正确,向上位机反馈文件接收完成,把FLASH中新固化的应用程序加载到对应内存并引导启动;
步骤6:判断应用程序是否启动且工作正常,若未启动或工作不正常,向上位机反馈升级失败,返回执行步骤2;若正常工作,更新应用程序校验区中对应的指示信息,向上位机反馈升级成功,返回执行步骤3。
本发明的有益效果是:由于引导程序和应用程序在FLASH中隔离固化,在DSP上电后运行在独立的内存空间,可实现只需要烧写一次引导程序,之后不管应用程序功能状态如何,引导程序均可响应在线升级指令、执行在线升级任务;由于在FLASH中划分固定的应用程序校验区和应用程序两个地址固化区,可实现升级过程意外中止或者升级出错后版本的回退;由于在应用程序中设计有跳转至当前程序主函数入口的代码,并在cmd文件中为其分配一段独立的地址空间,使得引导程序启动应用程序时的入口地址与后续应用程序的更新和编译无关,便于固定引导程序的状态;由于引导程序接收到升级指令、通过外部接口完成应用程序升级代码的接收、校验和固化后,可在产品不下电的情况下,加载新固化的应用程序并引导启动,判断应用程序启动成功且功能正常后,再更新应用程序校验区的应用程序信息,反馈升级完成状态,进一步简化了升级状态信息的确认过程,同时也可保证升级后产品的功能正常。
附图说明
图1是本发明的可在线引导重启并校验的DSP软件构成和存储示意图;
图2是本发明的可在线引导重启并校验的DSP软件在线升级方法流程图。
具体实施方式
下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。
本发明提供的一种可在线引导重启并校验的DSP软件在线升级方法,其DSP软件分为引导程序和应用程序两个部分:引导程序负责引导应用程序启动、响应执行软件升级任务,在每次升级操作中不会改变;应用程序负责软件功能,是每次升级需要更新的主体部分。如图1所示,引导程序和应用程序在FLASH中隔离固化,引导程序存储区固定在0扇区,DSP上电后首先从0扇区启动引导程序并保持对升级指令的监测和响应;应用程序可以是单个或者多个,每个应用程序在对应的存储区设计有A、B两个空间,用于每次升级时乒乓切换存储,每个应用程序中设计有跳转至当前程序主函数入口的代码,并在cmd文件中为其分配一段独立的地址空间,使得引导程序启动应用程序启动时的入口地址与后续应用程序的更新和编译无关,便于固定引导程序的状态;另外,FLASH中还包括一块独立的应用程序校验区,用于存储指示各个应用程序的固化地址、长度、合法性校验等信息。
DSP软件在线升级的过程如图2所示,具体步骤如下:
步骤1:DSP上电后,从引导程序存储区加载引导程序并运行,完成内核、相关外设和接口的初始化;
步骤2:从应用程序校验区读取指示信息并判断是否已固化有效的应用程序,若有则启动对应的应用程序并执行;
步骤3:无论是否有应用程序在运行,引导程序均以定时中断的方式保持对外部升级指令的周期监测;
步骤4:若接收到升级指令,进入引导程序的软件升级中断服务程序,关闭其它任务,跟据应用程序校验区的指示信息判断本次升级应用程序待固化的FLASH空间,擦除对应空间;
步骤5:接收上位机发送的应用程序升级文件并校验、写入FLASH,若接收失败或者校验错误,向上位机反馈升级失败,返回执行步骤2;若升级文件接收完成且校验正确,向上位机反馈文件接收完成,把FLASH中新固化的应用程序加载到对应内存并引导启动;
步骤6:判断应用程序是否启动且工作正常,若不正常则向上位机反馈升级失败,返回执行步骤2;若引导启动的应用程序可正常工作,更新应用程序校验区中对应的指示信息,向上位机反馈升级成功,返回执行步骤3。
本发明相对于传统JTAG接口DSP软件升级方法,其效率更高,对人员、环境、设备要求低,操作便捷。相对于一般的在线升级方法,可靠性更好、容错设计更全面,如果升级过程异常中断或者升级的软件版本无法正常运行,均不会完成升级确认,保持上一版本状态,甚至在没有可正常启动的应用程序的情况下,引导程序仍然可执行在线升级任务,具有很高的可靠性。另外,本发明在线引导应用软件重启的设计,可在升级后产品不下电便以升级后软件状态运行,保证软件升级正确性的同时,进一步降低升级操作要求,使升级过程更加快捷。
Claims (1)
1.一种可在线引导重启并校验的DSP软件在线升级方法,其特征在于:所述的DSP软件分为引导程序和应用程序两个部分,引导程序和应用程序在FLASH中隔离固化,引导程序负责引导应用程序启动、响应执行软件升级任务,固化在FLASH的0扇区,在每次升级操作中不会改变,应用程序负责软件功能,其中设计有跳转至当前程序主函数入口的代码,用于确定引导该应用程序启动时的入口地址,每个应用程序在FLASH中有两个固化地址,每次升级时切换存储;FLASH中还包括应用程序校验区,用于存储指示各个应用程序的固化地址、长度和合法性校验信息;
DSP软件在线升级具体步骤如下:
步骤1:DSP上电后,从引导程序存储区加载引导程序并运行,完成内核、外设和接口的初始化;
步骤2:从应用程序校验区读取指示信息并判断是否已固化相应的应用程序,若有则启动对应的应用程序并执行;
步骤3:引导程序以定时中断的方式保持对外部升级指令的周期监测;
步骤4:若接收到升级指令,进入引导程序的软件升级中断服务程序,关闭其它任务,根据应用程序校验区的指示信息判断本次升级应用程序待固化的FLASH空间,擦除对应空间;
步骤5:接收上位机发送的应用程序升级文件并校验、写入FLASH,若接收失败或者校验错误,向上位机反馈升级失败,返回执行步骤2;若升级文件接收完成且校验正确,向上位机反馈文件接收完成,把FLASH中新固化的应用程序加载到对应内存并引导启动;
步骤6:判断应用程序是否启动且工作正常,若未启动或工作不正常,向上位机反馈升级失败,返回执行步骤2;若正常工作,更新应用程序校验区中对应的指示信息,向上位机反馈升级成功,返回执行步骤3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211427021.2A CN115756558A (zh) | 2022-11-15 | 2022-11-15 | 一种可在线引导重启并校验的dsp软件在线升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211427021.2A CN115756558A (zh) | 2022-11-15 | 2022-11-15 | 一种可在线引导重启并校验的dsp软件在线升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115756558A true CN115756558A (zh) | 2023-03-07 |
Family
ID=85371447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211427021.2A Pending CN115756558A (zh) | 2022-11-15 | 2022-11-15 | 一种可在线引导重启并校验的dsp软件在线升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115756558A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118153066A (zh) * | 2024-05-10 | 2024-06-07 | 成都领目科技有限公司 | 一种dsp安全启动方法、装置及计算机可读介质 |
-
2022
- 2022-11-15 CN CN202211427021.2A patent/CN115756558A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118153066A (zh) * | 2024-05-10 | 2024-06-07 | 成都领目科技有限公司 | 一种dsp安全启动方法、装置及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9329959B2 (en) | Device and method for performing regression testing on bios boot information | |
CN109710320B (zh) | 一种两级驱动的启动引导BootLoader方法 | |
CN114860279B (zh) | 一种快速空片升级方法 | |
CN101593120A (zh) | 带外升级方法和系统 | |
US7194614B2 (en) | Boot swap method for multiple processor computer systems | |
CN105511976A (zh) | 一种嵌入式系统中的应用程序自恢复运行方法及装置 | |
CN113656061B (zh) | 5g通信电源固件更新方法及更新装置 | |
CN103092659A (zh) | 脱离仿真器支持环境的dsp软件升级系统及其升级方法 | |
CN114528557A (zh) | 一种嵌入式soc芯片自适应启动方法 | |
CN115756558A (zh) | 一种可在线引导重启并校验的dsp软件在线升级方法 | |
CN109634781A (zh) | 一种基于嵌入式程序双区备份映像系统及启动方法 | |
CN111240753A (zh) | 引导程序的加载方法、存储介质及嵌入式终端 | |
CN112540780A (zh) | 一种编队无人机批量固件升级实现系统、方法 | |
CN117130672A (zh) | 服务器启动流程控制方法、系统、终端及存储介质 | |
CN116932010A (zh) | 系统固件升级方法、装置及服务器 | |
CN109933374B (zh) | 一种计算机启动方法 | |
CN114265603A (zh) | 基于不对称分区的系统升级方法、装置和电子设备 | |
CN114138295A (zh) | 一种电子设备的应用程序固件升级方法、装置及系统 | |
CN111857785B (zh) | 一种mcu的启动方法、装置及终端设备 | |
CN116700765A (zh) | 伺服驱动器的固件升级方法及装置、伺服驱动器 | |
WO2023184309A1 (en) | Apparatus, device, method, and computer program for a computer system | |
CN112394965A (zh) | 电池管理系统升级和运行方法,控制器,电池管理系统及存储介质 | |
CN114490178A (zh) | 电能表软件升级的方法及电能表 | |
CN115658152A (zh) | 固件升级方法、固件、电子设备和计算机可读存储介质 | |
CN115033296A (zh) | 一种基于UEFI和Linux的国产操作系统启动方法及装置 |
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 |