CN104281463A - 一种可选择版本的dsp处理器程序加载方法 - Google Patents
一种可选择版本的dsp处理器程序加载方法 Download PDFInfo
- Publication number
- CN104281463A CN104281463A CN201310292153.3A CN201310292153A CN104281463A CN 104281463 A CN104281463 A CN 104281463A CN 201310292153 A CN201310292153 A CN 201310292153A CN 104281463 A CN104281463 A CN 104281463A
- Authority
- CN
- China
- Prior art keywords
- program
- dsp processor
- dsp
- version information
- software version
- 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仿真器重新进行固化从而实现加载的问题。
Description
技术领域
本发明涉及DSP处理器应用技术领域,具体涉及一种可选择版本的DSP处理器程序加载方法。
背景技术
关于DSP(Digital Signal Processing,数字信号处理)处理器程序的固化及加载,处理器生产厂家均提供相应的解决方法,通常可以利用仿真器实现DSP处理器程序的固化,进而能够实现程序的自动加载功能,此种方法的不足之处在于如果对DSP处理器程序进行了更改,需要重新利用仿真器完成修改后的DSP处理器程序的固化工作。在DSP处理器程序的前期开发过程中,此种程序固化及加载方法基本能够满足需求,但是,当基于DSP处理器设计的产品交付使用后,如果对其进行程序固化升级仍使用仿真器进行操作的话,会涉及到产品的拆装,因此,此种方法不利于生产应用过程。
针对上述不足之处,一些期刊文献中提出了在DSP处理器程序中增加程序升级的功能,硬件上通过串口将DSP处理器与计算机连通,软件上在DSP处理器程序中添加程序升级模块,即硬件电路上电工作后,计算机通过串口向DSP处理器发出指令,向DSP处理器发送需要固化的新的DSP处理器程序,传输完成后,DSP处理器调用程序升级功能,将新的程序固化于程序存储器中,从而完成脱离仿真器的程序固化升级功能,此种方法有效的解决了程序固化升级需要拆装产品的问题,但是,存在如下一些不足之处:1)在DSP处理器程序设计时需增加程序升级功能,增加了程序设计的复杂性;2)如果在程序固化升级过程中出现掉电等异常现象或者需固化的程序文件本身存在问题,会使得产品重新加电后无法正常加载程序,此时仍需使用仿真器对程序进行固化,同样涉及到产品的拆装。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种可选择版本的DSP处理器程序加载方法,以解决现有技术中存在的DSP升级功能融合到工作程序中导致的复杂性增加,以及软件升级过程中出现异常问题后需利用DSP仿真器重新进行固化从而实现加载的问题,并在解决以上问题的同时,实现了DSP处理器程序加载过程中程序版本可选择的功能。
(二)技术方案
为了解决上述技术问题,本发明提供了一种可选择版本的DSP处理器程序加载方法,包括以下步骤:
S1、主机向其与DSP处理器的信息交互区写入所述DSP处理器需加载的工作程序的软件版本信息;
S2、所述主机向DSP处理器发送复位信号;
S3、所述DSP处理器进行复位,然后自动加载引导程序;
S4、所述引导程序读取所述软件版本信息;
S5、所述引导程序根据所述软件版本信息计算所述工作程序在程序存储区中的存储地址、在程序运行空间的存储地址,以及工作程序运行入口地址,并将所述程序存储区中的存储地址处的可执行代码复制到所述程序运行空间的存储地址中,然后根据所述可执行代码、所述引导程序自身的内容,以及所述程序运行入口地址生成可执行文件;
S6、所述DSP处理器对所述可执行文件进行加载。
优选地,在步骤S6之后还包括步骤:
S7、所述DSP处理器向主机反馈软件版本信息;
S8、所述主机判断所述DSP处理器反馈的软件版本信息与其写入到所述信息交互区的软件版本信息是否一致,若一致,则结束,否则返回步骤S1,主机重新写入另一软件版本信息,然后重新执行后续的步骤。
优选地,所述可执行文件中包含写入所述程序运行入口地址后的引导程序,以及所述可执行代码。
优选地,所述引导程序和工作程序分别存储于所述程序存储区中的不同的空间。
(三)有益效果
本发明采用两级程序加载机制进行程序加载,利用第一级引导程序完成第二级工作程序加载版本的选择及第二级工作程序的加载,加载后的第二级工作程序作为主工作程序运行,这样使得主机可以依据需求进行DSP处理器工作程序版本的选择,还解决了DSP升级功能融合到工作程序中导致的复杂性增加,以及软件升级过程中出现异常问题后需利用DSP仿真器重新进行固化从而实现加载的问题。进一步,将DSP处理器程序存储区分块,用于存储一级引导程序、多个版本的DSP处理器工作程序,这样使得在进行软件升级时,仅对需升级版本的程序对应的存储区进行操作即可,可以保证其它版本的DSP处理器程序不被覆盖,提高了工作效率。
附图说明
图1为本发明的方法流程图;
图2为DSP处理器程序存储区分配图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
如图1所示,本发明提供了一种可选择版本的DSP处理器程序加载方法,包括以下步骤:
S1、主机向其与DSP处理器的信息交互区写入所述DSP处理器需加载的工作程序的软件版本信息;
S2、所述主机向DSP处理器发送复位信号;
S3、所述DSP处理器进行复位,然后自动加载引导程序;
S4、所述引导程序读取所述软件版本信息;
S5、所述引导程序根据所述软件版本信息计算所述工作程序在程序存储区中的存储地址、在程序运行空间的存储地址,以及工作程序运行入口地址,并将所述程序存储区中的存储地址处的可执行代码复制到所述程序运行空间的存储地址中,然后根据所述可执行代码、所述引导程序自身的内容,以及所述程序运行入口地址生成可执行文件;所述可执行文件中包含写入所述程序运行入口地址后的引导程序(即此时的引导程序中含有该工作程序的运行入口地址),以及所述可执行代码,且为减少可执行文件生成过程中人为参与的复杂性,采用“引导程序+工作程序”的结构进行生成,以便在不同版本程序加载过程中,引导程序能够自动获取该版本工作程序的运行入口地址而不需在生成可执行文件时人工进行分离,可减少操作的复杂性和出错的概率。
S6、所述DSP处理器对所述可执行文件进行加载;
S7、所述DSP处理器向主机反馈软件版本信息;
S8、所述主机判断所述DSP处理器反馈的软件版本信息与其写入到所述信息交互区的软件版本信息是否一致,若一致,则结束,否则返回步骤S1,主机重新写入另一软件版本信息,然后重新执行后续的所有步骤,以此方式循环,直到反馈的版本信息与写入的版本信息一致,表示加载成功。
本实施例中,本发明对DSP处理器程序存储区的分配方法进行了约定,如图2所示,所述引导程序和工作程序分别存储于所述程序存储区中的不同的空间。以TMS320C6416DSP为例,整个DSP程序存储区中需存储如下几类程序,即引导程序、升级程序、工作程序1、DSP工作程序2......、工作程序n,共需分配n+2个程序存储块,除引导程序占用1KB字节空间外,其它程序(包括升级程序及工作程序)均占用相同大小的存储空间。
基于统一化、规范化的原则,本发明对主机控制程序与升级程序、引导程序、各版本工作程序间的信息交互协议进行了规定,以便于引导程序运行、工作程序选择、DSP处理器程序升级、DSP处理器程序工作的实现。可以按照如下协议格式进行约定,如表1所示为主机控制程序至引导程序、各版本工作程序、升级程序协议格式,表2表示引导程序、各版本工作程序、升级程序反馈至主机控制程序的协议格式。
表1主机至DSP处理器程序协议格式
表2DSP处理器程序至主机协议格式
由以上实施例可以看出,本发明采用两级程序加载机制进行程序加载,利用第一级引导程序完成第二级工作程序加载版本的选择及第二级工作程序的加载,加载后的第二级工作程序作为主工作程序运行,这样使得主机可以依据需求进行DSP处理器工作程序版本的选择,还解决了DSP升级功能融合到工作程序中导致的复杂性增加,以及软件升级过程中出现异常问题后需利用DSP仿真器重新进行固化从而实现加载的问题。进一步,将DSP处理器程序存储区分块,用于存储一级引导程序、多个版本的DSP处理器工作程序,这样使得在进行软件升级时,仅对需升级版本的程序对应的存储区进行操作即可,可以保证其它版本的DSP处理器程序不被覆盖,提高了工作效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (4)
1.一种可选择版本的DSP处理器程序加载方法,其特征在于,包括以下步骤:
S1、主机向其与DSP处理器的信息交互区写入所述DSP处理器需加载的工作程序的软件版本信息;
S2、所述主机向DSP处理器发送复位信号;
S3、所述DSP处理器进行复位,然后自动加载引导程序;
S4、所述引导程序读取所述软件版本信息;
S5、所述引导程序根据所述软件版本信息计算所述工作程序在程序存储区中的存储地址、在程序运行空间的存储地址,以及工作程序运行入口地址,并将所述程序存储区中的存储地址处的可执行代码复制到所述程序运行空间的存储地址中,然后根据所述可执行代码、所述引导程序自身的内容,以及所述程序运行入口地址生成可执行文件;
S6、所述DSP处理器对所述可执行文件进行加载。
2.如权利要求1所述的方法,其特征在于,在步骤S6之后还包括步骤:
S7、所述DSP处理器向主机反馈软件版本信息;
S8、所述主机判断所述DSP处理器反馈的软件版本信息与其写入到所述信息交互区的软件版本信息是否一致,若一致,则结束,否则返回步骤S1,主机重新写入另一软件版本信息,然后重新执行后续的步骤。
3.如权利要求1所述的方法,其特征在于,所述可执行文件中包含写入所述程序运行入口地址后的引导程序,以及所述可执行代码。
4.如权利要求1或2或3所述的方法,其特征在于,所述引导程序和工作程序分别存储于所述程序存储区中的不同的空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310292153.3A CN104281463A (zh) | 2013-07-12 | 2013-07-12 | 一种可选择版本的dsp处理器程序加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310292153.3A CN104281463A (zh) | 2013-07-12 | 2013-07-12 | 一种可选择版本的dsp处理器程序加载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104281463A true CN104281463A (zh) | 2015-01-14 |
Family
ID=52256368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310292153.3A Pending CN104281463A (zh) | 2013-07-12 | 2013-07-12 | 一种可选择版本的dsp处理器程序加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104281463A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446783A (zh) * | 2015-12-25 | 2016-03-30 | 浙江大学 | 一种皮卫星dsp程序快速加载方法 |
CN108255511A (zh) * | 2017-12-20 | 2018-07-06 | 北京华航无线电测量研究所 | 一种光电吊舱系统Zynq芯片分级打包快速升级方法 |
CN110619235A (zh) * | 2018-06-18 | 2019-12-27 | 松下电器(美国)知识产权公司 | 管理方法、管理装置及记录介质 |
CN112130926A (zh) * | 2020-09-17 | 2020-12-25 | 百富计算机技术(深圳)有限公司 | 应用程序运行的方法、装置、终端设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959635A (zh) * | 2005-11-04 | 2007-05-09 | 中兴通讯股份有限公司 | 一种软件版本更新的方法 |
CN102004650A (zh) * | 2009-09-01 | 2011-04-06 | 中兴通讯股份有限公司 | 一种数字信号处理器版本的二次加载方法及系统 |
JP2012173921A (ja) * | 2011-02-21 | 2012-09-10 | Toshiba Corp | ディジタルシグナルプロセッサシステムおよびディジタルシグナルプロセッサシステムの起動方法 |
CN102890635A (zh) * | 2011-07-20 | 2013-01-23 | 中兴通讯股份有限公司 | 一种数字信号处理器的加载方法和装置 |
CN103067459A (zh) * | 2012-12-18 | 2013-04-24 | 四川九洲电器集团有限责任公司 | 基于数字信号处理器的fpga远程加载装置 |
CN103092659A (zh) * | 2013-01-31 | 2013-05-08 | 中国航空无线电电子研究所 | 脱离仿真器支持环境的dsp软件升级系统及其升级方法 |
-
2013
- 2013-07-12 CN CN201310292153.3A patent/CN104281463A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959635A (zh) * | 2005-11-04 | 2007-05-09 | 中兴通讯股份有限公司 | 一种软件版本更新的方法 |
CN102004650A (zh) * | 2009-09-01 | 2011-04-06 | 中兴通讯股份有限公司 | 一种数字信号处理器版本的二次加载方法及系统 |
JP2012173921A (ja) * | 2011-02-21 | 2012-09-10 | Toshiba Corp | ディジタルシグナルプロセッサシステムおよびディジタルシグナルプロセッサシステムの起動方法 |
CN102890635A (zh) * | 2011-07-20 | 2013-01-23 | 中兴通讯股份有限公司 | 一种数字信号处理器的加载方法和装置 |
CN103067459A (zh) * | 2012-12-18 | 2013-04-24 | 四川九洲电器集团有限责任公司 | 基于数字信号处理器的fpga远程加载装置 |
CN103092659A (zh) * | 2013-01-31 | 2013-05-08 | 中国航空无线电电子研究所 | 脱离仿真器支持环境的dsp软件升级系统及其升级方法 |
Non-Patent Citations (1)
Title |
---|
刘宇: "基于PCI总线的DSP系统应用程序的更新", 《现代电子技术》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446783A (zh) * | 2015-12-25 | 2016-03-30 | 浙江大学 | 一种皮卫星dsp程序快速加载方法 |
CN105446783B (zh) * | 2015-12-25 | 2019-01-29 | 浙江大学 | 一种皮卫星dsp程序快速加载方法 |
CN108255511A (zh) * | 2017-12-20 | 2018-07-06 | 北京华航无线电测量研究所 | 一种光电吊舱系统Zynq芯片分级打包快速升级方法 |
CN110619235A (zh) * | 2018-06-18 | 2019-12-27 | 松下电器(美国)知识产权公司 | 管理方法、管理装置及记录介质 |
CN112130926A (zh) * | 2020-09-17 | 2020-12-25 | 百富计算机技术(深圳)有限公司 | 应用程序运行的方法、装置、终端设备及存储介质 |
WO2022057418A1 (zh) * | 2020-09-17 | 2022-03-24 | 百富计算机技术(深圳)有限公司 | 应用程序运行的方法、装置、终端设备及存储介质 |
CN112130926B (zh) * | 2020-09-17 | 2023-10-24 | 深圳市兆珑科技有限公司 | 应用程序运行的方法、装置、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103473067B (zh) | 嵌入式Linux分区与数据还原方法、系统及系统开发方法 | |
US8423991B2 (en) | Embedded network device and firmware upgrading method | |
WO2016101503A1 (zh) | 一种热补丁的实现方法和装置 | |
CN101414264B (zh) | 一种软件版本的更新方法 | |
US20070150713A1 (en) | Methods and arrangements to dynamically modify the number of active processors in a multi-node system | |
CN112040476B (zh) | 物联网终端的升级方法及装置 | |
CN102779191B (zh) | 一种MySQL数据库平滑升级的实现系统及实现方法 | |
CN101645020A (zh) | 虚拟操作系统创建方法 | |
CN104541242A (zh) | 代码执行的灵活加速 | |
CN104281463A (zh) | 一种可选择版本的dsp处理器程序加载方法 | |
US20180246647A1 (en) | System and Method for Storing Modified Data to an NVDIMM During a Save Operation | |
CN101872306B (zh) | 一种实现软件更新和软件备份的嵌入式系统及其实现方法 | |
CN105095138A (zh) | 一种扩展同步内存总线功能的方法和装置 | |
CN104156234A (zh) | 启动多核处理器、bootloader大小端模式自适应的方法及装置 | |
US20130159689A1 (en) | Method and apparatus for initializing embedded device | |
CN104866388A (zh) | 数据处理方法及装置 | |
CN103019833A (zh) | 终端设备以及使终端设备支持操作系统快速切换的方法 | |
CN105335166A (zh) | 嵌入式设备的系统及嵌入式设备远程升级的方法 | |
CN102855162B (zh) | 一种数据更新方法、数据更新系统及存储器 | |
CN103809987A (zh) | 一种soc芯片更换自身内部fpga ip程序的方法 | |
US20220113952A1 (en) | On-demand binary translation state map generation | |
US9239720B2 (en) | Device and method for generating application model based on layered structure | |
CN106873913B (zh) | 一种嵌入式系统自适应不同flash进行分区的方法 | |
CN104699410A (zh) | 一种信息处理方法及电子设备 | |
CN108958769A (zh) | 一种嵌入式设备软件系统修复方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150114 |