CN109800007A - Dsp芯片在线升级方法以及装置 - Google Patents
Dsp芯片在线升级方法以及装置 Download PDFInfo
- Publication number
- CN109800007A CN109800007A CN201811628023.1A CN201811628023A CN109800007A CN 109800007 A CN109800007 A CN 109800007A CN 201811628023 A CN201811628023 A CN 201811628023A CN 109800007 A CN109800007 A CN 109800007A
- Authority
- CN
- China
- Prior art keywords
- program
- configuration information
- downloading
- judgement
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本公开的目的是提供一种DSP芯片在线升级方法以及装置,以解决相关技术中DSP芯片调试过程中升级不方便以及售后的维护升级不方便的问题。DSP芯片在线升级方法,所述方法包括:获取DSP硬件电路状态;根据所述DSP硬件电路状态,Boot程序判断进入下载模式还是运行模式;在判断进入所述下载模式的情况下,Boot程序根据接收到的配置信息完成程序下载操作。
Description
技术领域
本公开涉及信息技术领域,具体地,涉及一种DSP芯片在线升级方法以及装置。
背景技术
现有技术中的ADI DSP芯片没有提供Linux操作系统,而是提供了一种通过集成开发环境(IDE)进行程序下载的方法。在进行程序调试时,可先通过IDE连接仿真器,通过仿真器将代码先下载到内存中,再通过IDE给DSP发送命令的方式,将代码从内存写入到相应的FLASH(闪存)中,非常不灵活。而且,该方法无法自由地指定程序运行地址,若想改变程序运行地址,则必须在程序中指定并重新进行编译,整个操作非常复杂。
虽然该方法可以基本满足开发过程,但是开发过程中若采用此方法,开发者要不断通过下载程序以验证程序的正确性、稳定性,因此该方法可操作性很差且不友好,严重影响了开发效率。
其次,该方法无法实现规模化生产或者设备的快速维护升级。首先出于成本考虑,无法在工厂大规模安装此开发环境、配备相应的仿真器,另外,该方法对操作需要非常强的技术水平,对生产工厂的工人来讲,做到完全熟悉并熟练使用存在很大的困难。
另外,在产品售后的维修过程中,也不太可能采用这种复杂的方法,而应该提供一种更为便捷的方案,有效地诊断电路板中存在的问题或快速的进行程序的升级。
发明内容
本公开的目的是提供一种DSP芯片在线升级方法以及装置,以解决相关技术中DSP芯片调试过程中升级不方便以及售后的维护升级不方便的问题。
为了实现上述目的,第一方面,本公开实施例提供一种DSP芯片在线升级方法,所述方法包括:
获取DSP硬件电路状态;
根据所述DSP硬件电路状态,Boot程序判断进入下载模式还是运行模式;以及
在判断进入所述下载模式的情况下,Boot程序根据接收到的配置信息完成程序下载操作。
可选的,所述配置信息包括用户选择的DSP硬件电路、下载文件、以及下载地址。
可选的,在判断进入所述运行模式的情况下,Boot程序根据读取到的配置信息完成程序运行操作。
可选的,所述在判断进入所述下载模式的情况下,Boot程序根据接收到的配置信息完成程序下载操作包括:
在FLASH上存储所述配置信息;
接收用户选择的所述下载文件的密文并解密;以及
将解密后的下载文件存储到所述FLASH的用户选择的所述下载地址。
可选的,所述在判断进入所述运行模式的情况下,Boot程序根据存储的配置信息完成程序运行操作包括:
查找存储的配置信息;
根据所述存储的配置信息获得待运行程序的地址;
将所述待运行程序的地址写入所述DSP芯片中的程序计数器中。
第二方面,本公开实施例提供一种DSP芯片在线升级装置,所述装置包括:
获取模块,用于获取DSP硬件电路状态;
判断模块,用于根据所述DSP硬件电路状态Boot程序判断进入下载模式还是运行模式;
下载模块,用于在判断进入所述下载模式的情况下Boot程序根据接收到的配置信息完成程序下载操作。
可选的,所述配置信息包括用户选择的DSP硬件电路、下载文件、以及下载地址。
可选的,所述装置还包括:
运行模块,用于在判断进入所述运行模式的情况下Boot程序根据读取到的配置信息完成程序运行操作。
可选的,在判断进入所述下载模式的情况下,所述下载模块用于:
在FLASH上存储所述配置信息;
接收用户选择的所述下载文件的密文并解密;以及
将解密后的下载文件存储到所述FLASH的用户选择的所述下载地址。
可选的,在判断进入所述运行模式的情况下,所述运行模块用于:
查找存储的配置信息;
根据所述存储的配置信息获得待运行程序的地址;以及
将所述待运行程序的地址写入所述DSP芯片中的程序(PC)计数器中。
上述技术方案,通过获取DSP硬件电路状态,之后根据所述DSP硬件电路状态,Boot程序判断进入下载模式还是运行模式,以及在判断进入所述下载模式的情况下Boot程序根据接收到的配置信息完成程序下载操作,可以实现根据用户的选择进行方便快捷的DSP芯片在线升级操作。
通过上述技术方案,能够方便快捷的完成开发、测试及后续维护等中的升级操作,从而极大地提高了研发测试以及维修的灵活性和效率,降低了生产、维护的成本和难度。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种DSP芯片在线升级方法的流程图。
图2是根据一示例性实施例示出的用于一种DSP芯片在线升级方法的上位机用户接口的示意图。
图3是根据一示例性实施例示出的一种DSP芯片在线升级装置的方框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1是根据一示例性实施例示出的一种DSP芯片在线升级方法的流程图,如图1所示,所述方法可以包括:
步骤S11,获取DSP硬件电路状态。
具体来说,在DSP电路板启动后,Boot程序可以获取DSP硬件电路状态,例如通过与上位机的用户接口获取所述硬件电路状态,诸如串口等。
步骤S12,根据所述DSP硬件电路状态,Boot程序可以判断进入下载模式还是运行模式。
步骤S13,在判断进入所述下载模式的情况下,Boot程序根据接收到的配置信息完成程序下载操作。
图2是根据一示例性实施例示出的用于一种DSP芯片在线升级方法的上位机用户接口的示意图。如图2所示,可选的,所述配置信息可以包括用户选择的DSP硬件电路、下载文件、以及下载地址等。用户可以根据实际需要通过上位机的用户接口设置所述配置信息,例如设置串口、下载文件以及下载地址等。
根据一种可选的实施方式,在判断进入所述下载模式的情况下,Boot程序根据接收到的配置信息完成程序下载操作可以包括:
首先,在FLASH上存储所述配置信息,即从上位机接收的所述配置信息。可选的,也可以将配置信息进行加密后发送。接着,接收用户选择的所述下载文件的密文并解密(例如采用AES算法等);以及,之后将解密后的下载文件存储到所述FLASH的用户选择的所述下载地址。其中,逐行读取待下载的加密文件,直到根据约定的标志,读取到最后一行,结束下载。
根据一种可选的实施方式,在判断进入所述运行模式的情况下,Boot程序可以根据读取到的配置信息完成程序运行操作,其可以包括:
首先,查找存储的配置信息。接着,根据所述存储的配置信息获得待运行程序的地址。以及,之后将所述待运行程序的地址写入所述DSP芯片中的程序计数器中。此后,DSP可以将运行程序拷贝到RAM中,引导程序启动。程序启动后,若有需要,可以通过上位机程序可以对DSP进行相应的检测,例如通过上位机可以对DSP设备进行一些维修诊断等功能。
通过上述方法,在下载模式中,可将多个应用程序下载到不同的地址。而用户通过上位机的用户接口来指定待下载程序被下载的地址以及上电后待运行程序的地址,对待下载的应用程序进行完整性校验,并将程序加密后发送给Boot程序。在运行模式中,则Boot程序可以根据存储的配置信息读取被执行程序的地址,Boot程序可以查找存储的配置信息,根据配置信息找到待运行程序的存储地址,并通过DSP的汇编指令将该地址写入DSP中的PC寄存器,之后该程序可以被DSP执行,Boot交出控制权而不再起作用。即如果进入下载模式,Boot程序可以将与上位机程序配合,完成程序的下载升级工作;如果进入运行模式,Boot程序可以根据配置信息引导相应的程序运行,可以不需要上位机程序配合。
上述方法可以用于DSP电路板,其中所述DSP电路板可以包括DSP芯片、RAM、FLASH存储模块、电源模块以及各种对外接口如串口、USB等。其中电源模块可以为相关器件提供对应电源支撑;RAM可以为程序运行的介质;FLASH可以为程序存储介质。所述上位机程序可以为在电脑上运行的程序,提供用户接口对关键信息进行设置或对DSP设备进行问题诊断。该程序可以通过串口或USB接口与DSP电路板连接进行数据交互。所述Boot程序可以通过DSP芯片提供的Jtag接口或者编程器被烧入到FLASH中。
举例来说,所述DSP电路板可以用于视频的采集与处理,处理器可以采用ADSP-BF531,该处理器非常合适用于便携式测试设备、嵌入式调制解调器、生物特征识别和视频采集等大多数对成本敏感的应用。处理器具有高速缓存,支持视频接口,提供与SDRAM、FLASH等的无缝连接,支持串口、USB、SPI等接口。所述FLASH可以采用Spasion的16MBNorFLASH,SDRAM为16MB的Hynix存储芯片。视频采集部分可以外接OV9712摄像头,提供了串口和USB接口用于与上位机进行交互。电源模块可以采用两片输出分别为3.3V和1.8V的LDO为系统,视频模块部分可以采用单独的1.8V输出的LDO供电以保证视频图像的稳定。
上述技术方案,通过获取DSP硬件电路状态,之后根据所述DSP硬件电路状态,Boot程序判断进入下载模式还是运行模式,以及在判断进入所述下载模式的情况下Boot程序根据接收到的配置信息完成程序下载操作,可以实现根据用户的选择进行方便快捷的DSP芯片在线升级操作。
通过上述技术方案,能够方便快捷的完成开发、测试及后续维护等中的升级操作,从而极大地提高了研发测试以及维修的灵活性和效率,降低了生产、维护的成本和难度。
图3是根据一示例性实施例示出的一种DSP芯片在线升级装置10的方框图,如图3所示,所述装置10可以包括:
获取模块101,用于获取DSP硬件电路状态;
判断模块102,用于根据所述DSP硬件电路状态Boot程序判断进入下载模式还是运行模式;以及
下载模块103,用于在判断进入所述下载模式的情况下Boot程序根据接收到的配置信息完成程序下载操作。
可选的,所述配置信息可以包括用户选择的DSP硬件电路、下载文件、以及下载地址等。
可选的,所述装置10还可以包括:
运行模块,用于在判断进入所述运行模式的情况下Boot程序根据读取到的配置信息完成程序运行操作。
可选的,在判断进入所述下载模式的情况下,所述下载模块可以用于:
在FLASH上存储所述配置信息;
接收用户选择的所述下载文件的密文并解密;以及
将解密后的下载文件存储到所述FLASH的用户选择的所述下载地址。
可选的,在判断进入所述运行模式的情况下,所述运行模块可以用于:
查找存储的配置信息;
根据所述存储的配置信息获得待运行程序的地址;以及
将所述待运行程序的地址写入所述DSP芯片中的程序计数器中。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过上述技术方案,能够方便快捷的完成开发、测试及后续维护等中的升级操作,从而极大地提高了研发测试以及维修的灵活性和效率,降低了生产、维护的成本和难度。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种DSP芯片在线升级方法,其特征在于,所述方法包括:
获取DSP硬件电路状态;
根据所述DSP硬件电路状态,Boot程序判断进入下载模式还是运行模式;以及
在判断进入所述下载模式的情况下,Boot程序根据接收到的配置信息完成程序下载操作。
2.根据权利要求1所述的方法,其特征在于,所述配置信息包括用户选择的DSP硬件电路、下载文件、以及下载地址。
3.根据权利要求1或2所述的方法,其特征在于,在判断进入所述运行模式的情况下,Boot程序根据读取到的配置信息完成程序运行操作。
4.根据权利要求2所述的方法,其特征在于,所述在判断进入所述下载模式的情况下,Boot程序根据接收到的配置信息完成程序下载操作包括:
在FLASH上存储所述配置信息;
接收用户选择的所述下载文件的密文并解密;以及
将解密后的下载文件存储到所述FLASH的用户选择的所述下载地址。
5.根据权利要求3所述的方法,其特征在于,所述在判断进入所述运行模式的情况下,Boot程序根据存储的配置信息完成程序运行操作包括:
查找存储的配置信息;
根据所述存储的配置信息获得待运行程序的地址;以及
将所述待运行程序的地址写入所述DSP芯片中的程序计数器中。
6.一种DSP芯片在线升级装置,其特征在于,所述装置包括:
获取模块,用于获取DSP硬件电路状态;
判断模块,用于根据所述DSP硬件电路状态Boot程序判断进入下载模式还是运行模式;以及
下载模块,用于在判断进入所述下载模式的情况下Boot程序根据接收到的配置信息完成程序下载操作。
7.根据权利要求6所述的装置,其特征在于,所述配置信息包括用户选择的DSP硬件电路、下载文件、以及下载地址。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
运行模块,用于在判断进入所述运行模式的情况下Boot程序根据读取到的配置信息完成程序运行操作。
9.根据权利要求7所述的装置,其特征在于,在判断进入所述下载模式的情况下,所述下载模块用于:
在FLASH上存储所述配置信息;
接收用户选择的所述下载文件的密文并解密;以及
将解密后的下载文件存储到所述FLASH的用户选择的所述下载地址。
10.根据权利要求8所述的装置,其特征在于,在判断进入所述运行模式的情况下,所述运行模块用于:
查找存储的配置信息;
根据所述存储的配置信息获得待运行程序的地址;以及
将所述待运行程序的地址写入所述DSP芯片中的程序计数器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811628023.1A CN109800007A (zh) | 2018-12-28 | 2018-12-28 | Dsp芯片在线升级方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811628023.1A CN109800007A (zh) | 2018-12-28 | 2018-12-28 | Dsp芯片在线升级方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109800007A true CN109800007A (zh) | 2019-05-24 |
Family
ID=66558079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811628023.1A Pending CN109800007A (zh) | 2018-12-28 | 2018-12-28 | Dsp芯片在线升级方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109800007A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506333A (zh) * | 2020-04-27 | 2020-08-07 | 湖北三江航天红峰控制有限公司 | 一种双dsp程序在线升级方法及系统 |
CN115469901A (zh) * | 2022-08-16 | 2022-12-13 | 哈尔滨理工大学 | 一种双核dsp可拆卸远程升级系统及升级方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763354A (zh) * | 2014-01-06 | 2014-04-30 | 北京奇虎科技有限公司 | 一种升级数据下载的方法及装置 |
CN104486355A (zh) * | 2014-12-30 | 2015-04-01 | 大连楼兰科技股份有限公司 | 防止代码被恶意篡改的方法和装置 |
CN105183523A (zh) * | 2015-09-29 | 2015-12-23 | 国网智能电网研究院 | 一种dsp程序的远程升级方法 |
CN105630555A (zh) * | 2015-12-25 | 2016-06-01 | 深圳创动科技有限公司 | 一种控制芯片中软件在线升级方法及装置 |
CN105867977A (zh) * | 2016-04-01 | 2016-08-17 | 天津七所精密机电技术有限公司 | DSP用户程序升级及Flash下载方法 |
CN106569833A (zh) * | 2016-11-14 | 2017-04-19 | 积成电子股份有限公司 | 一种具有二级boot的dsp程序在线升级方法 |
CN106598650A (zh) * | 2016-11-25 | 2017-04-26 | 积成电子股份有限公司 | 基于光纤通信的fpga程序在线升级的装置及方法 |
CN106648803A (zh) * | 2016-12-30 | 2017-05-10 | 南京科远自动化集团股份有限公司 | 一种dsp芯片在线升级方法 |
CN106951289A (zh) * | 2017-03-23 | 2017-07-14 | 苏州英威腾电力电子有限公司 | 一种在线升级方法、dsp控制器及升级系统 |
WO2018090642A1 (zh) * | 2016-11-15 | 2018-05-24 | 平安科技(深圳)有限公司 | 应用程序升级方法、用户终端及存储介质 |
-
2018
- 2018-12-28 CN CN201811628023.1A patent/CN109800007A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763354A (zh) * | 2014-01-06 | 2014-04-30 | 北京奇虎科技有限公司 | 一种升级数据下载的方法及装置 |
CN104486355A (zh) * | 2014-12-30 | 2015-04-01 | 大连楼兰科技股份有限公司 | 防止代码被恶意篡改的方法和装置 |
CN105183523A (zh) * | 2015-09-29 | 2015-12-23 | 国网智能电网研究院 | 一种dsp程序的远程升级方法 |
CN105630555A (zh) * | 2015-12-25 | 2016-06-01 | 深圳创动科技有限公司 | 一种控制芯片中软件在线升级方法及装置 |
CN105867977A (zh) * | 2016-04-01 | 2016-08-17 | 天津七所精密机电技术有限公司 | DSP用户程序升级及Flash下载方法 |
CN106569833A (zh) * | 2016-11-14 | 2017-04-19 | 积成电子股份有限公司 | 一种具有二级boot的dsp程序在线升级方法 |
WO2018090642A1 (zh) * | 2016-11-15 | 2018-05-24 | 平安科技(深圳)有限公司 | 应用程序升级方法、用户终端及存储介质 |
CN106598650A (zh) * | 2016-11-25 | 2017-04-26 | 积成电子股份有限公司 | 基于光纤通信的fpga程序在线升级的装置及方法 |
CN106648803A (zh) * | 2016-12-30 | 2017-05-10 | 南京科远自动化集团股份有限公司 | 一种dsp芯片在线升级方法 |
CN106951289A (zh) * | 2017-03-23 | 2017-07-14 | 苏州英威腾电力电子有限公司 | 一种在线升级方法、dsp控制器及升级系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506333A (zh) * | 2020-04-27 | 2020-08-07 | 湖北三江航天红峰控制有限公司 | 一种双dsp程序在线升级方法及系统 |
CN115469901A (zh) * | 2022-08-16 | 2022-12-13 | 哈尔滨理工大学 | 一种双核dsp可拆卸远程升级系统及升级方法 |
CN115469901B (zh) * | 2022-08-16 | 2023-05-12 | 哈尔滨理工大学 | 一种双核dsp可拆卸远程升级系统及升级方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7669186B2 (en) | Debugging applications at resource constrained virtual machines using dynamically installable lightweight agents | |
CN102236621B (zh) | 计算机接口信息配置系统及方法 | |
Minns | C Programming for the PC the MAC and the Arduino Microcontroller System | |
Zaddach et al. | Embedded devices security and firmware reverse engineering | |
CN107479931B (zh) | 一种linux系统应用层刷新BIOS的方法 | |
US9489286B2 (en) | Method and system for computer assisted hot-tracing mechanism | |
Mei et al. | Can big data bring a breakthrough for software automation? | |
CN109800007A (zh) | Dsp芯片在线升级方法以及装置 | |
CN102231128A (zh) | 在线调试方法及调试主机 | |
Kortbeek et al. | Bfree: Enabling battery-free sensor prototyping with python | |
CN110637521B (zh) | 一种基于模型仿真的数据实时存储方法和系统 | |
Kraemer et al. | Battery-free makecode: Accessible programming for intermittent computing | |
US20040064267A1 (en) | Method and apparatus for testing microarchitectural features by using tests written in microcode | |
Cormack | The rump kernel: A tool for driver development and a toolkit for applications | |
CN101593257B (zh) | 基于.Net虚拟机的软件保护系统和方法 | |
Ransford | A rudimentary bootloader for computational RFIDs | |
Kyöstilä | Reducing the boot time of embedded Linux systems | |
Romana et al. | Raising MIPS Binaries to LLVM IR | |
CN107291423B (zh) | 构建运行环境的方法和装置 | |
Zhang et al. | Study of implementing the FEC on SoC FPGA for digital quench detector | |
CN113110859B (zh) | 一种嵌入式终端远程在线开发系统 | |
CN114064134B (zh) | 适用于嵌入式sparc架构处理器的自引导方法及系统 | |
Fischer et al. | VISIR-Microcontroller extensions | |
CN201352343Y (zh) | 可运行用户程序的多功能微处理器开发编程工具 | |
Peter et al. | A bare machine sensor application for an ARM processor |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190524 |