一种DSP处理器的动态重载方法技术

技术编号:8532605 阅读:109 留言:0更新日期:2013-04-04 15:29
本发明专利技术涉及一种DSP处理器的动态重载方法,包括以下步骤:1、生成映像文件;2、DSP处理器的初始化;3、重载接口函数将映像文件中的重载内核引导复制到DSP处理器的内部存储器中去覆盖初始应用程序;4、内部存储器中的重载内核将存储在外部存储空间中的映像文件中的应用程序引导复制到DSP处理器的内部存储器中去覆盖重载内核,生成待运行的应用程序;5、执行待运行的应用程序,完成动态重载。针对嵌入式信号处理ADSP-TS20xS系列处理器硬件平台传统的引导加载方式不能满足系统功能重构的需求,本发明专利技术增加了重载内核,利用该重载内核可以实现对程序映像的实时动态重载操作,从而提高了嵌入式系统的重构能力。

【技术实现步骤摘要】

本专利技术属于嵌入式信号处理领域,具体涉及一种DSP处理器的动态重载方法
技术介绍
综合航空电子系统对其内部的各个功能模块提出了应用数据集中存储,实时重构等要求,但是当前嵌入式DSP的应用,都是将应用程序存储在非易失性的外部存储器中,在系统上电后,再从外部存储器加载到DSP内存中,重新启动运行应用程序。随着航空电子系统从维护保障和系统功能重构方面对嵌入式DSP 处理器应用提出了新的要求,如程序集中存储、任务重载等等,这种传统的局部固化应用程序的方式已经不能满足应用要求。而具有动态重载功能的信号处理模块由于引导方式受外部硬件条件(如存储器容量、接口方式等)限制小,应用的调试、维护升级方式便捷,能极大提高系统的应用灵活性、可靠性和可维护性。面向这种需求,基于ADI公司的TigerSHARC ADSP_TS20xS系列处理器平台的应用加载技术。ADI公司的ADSP-TS20xS处理器支持四种加载方式=EPROM引导方式(PROM-Boot),链路口弓I导方式(LINK-Boot)、主机弓I导方式(HOST-Boot)和非引导方式。前三种加载方式分别通过ADI公司的调试开发环境VisualDSP++提供的三种引导程序内核来实现,分别通过处理器外部总线、链路口和外部主机来完成三种加载方式,以实现程序引导操作与加载操作。而非引导方式则是通过外部不同的Strap信号(对应DSP外部配置引脚的启动),配置不同的启动地址,从而让DSP从内部存储器的对应地址开始执行程序。虽然ADI公司提供的三种重载内核能够满足加载的需要,但无法提供动态加载,本专利技术通过开发一种外部存储器接口类型不受限制的重载内核,利用该重载内核,将加载程序文件存储于任意DSP可以访问的外部存储器空间,甚至可以采用接收外部设备传输加载文件的操作形式,利用具体DSP电路所设计的通讯总线传输被加载程序映像数据,再启动应用程序重载进程,最终实现DSP的实时重载操作。这种新的重载方法极大地提高了嵌入式应用开发的灵活性,为嵌入式系统应用软件功能重构提供了一种新的途径。
技术实现思路
针对嵌入式信号处理ADSP-TS20xS系列处理器硬件平台传统的引导加载方式不能满足系统功能重构的需求,提出一种DSP处理器的动态重载方法,该重载方法中增加了重载内核,利用该重载内核可以实现对程序映像的实时动态重载操作,从而提高了嵌入式系统的重构能力,并为系统功能软件的升级和维护提供了一种简便、可靠的方法。本专利技术的技术解决方案一种DSP处理器的动态重载方法,其特殊之处在于包括以下步骤I生成映像文件在DSP处理器的开发环境下,将待重载的应用程序结合重载内核生成映像文件,重载内核能够实现从外部动态存储器中加载应用程序,并定义了映像文件在外部存储空间中的存储地址;2DSP处理器的初始化利用任意应用程序作为初始应用程序对DSP处理器进行初始化,并利用初始应用程序通过DSP处理器的外部接口获取映像文件,并把映像文件存放在重载内核指定的外部存储空间中;所述初始应用程序中包括重载接口函数;所述重载接口函数能够实现从外部动态存储器中加载重载内核;·3重载接口函数将映像文件中的重载内核引导复制到DSP处理器的内部存储器中去覆盖初始应用程序4内部存储器中的重载内核将存储在外部存储空间中的映像文件中的应用程序引导复制到DSP处理器的内部存储器中去覆盖重载内核,生成待运行的应用程序;5执行待运行的应用程序,完成动态重载。步骤4的具体步骤为4.1内部存储器中的重载内核根据外部存储空间中的应用程序启动DMA操作,从应用程序的第257个字开始按照数据块依次加载到内部存储器中,从内部存储器的第257个字起按照数据块依次存储,直至加载至最后一个数据块;4. 2将应用程序的前256个字中的前四个字存储在通用寄存器中,并同时在内部存储器的前四个字存储单元中依次写入指令I)中断返回地址为DSP处理器的内部存储器零地址;指令2)禁止所有中断;指令3)将存储在通用寄存器中的前四个字存储在内部存储器的前四个字存储单元中;4. 3内部存储器中的重载内核启动一个252字的DMA,此时DSP处理器处于空闲状态,4. 4利用252字的DMA将应用程序的前256个字中的后252个字引导复制到内部存储器中并去覆盖重载内核的后252个字,直到252字的DMA的引导复制操作完成,此刻中断触发,依次执行指令I) _3),待运行的应用程序生成完毕。步骤3的具体步骤为3.1将重载内核中的前四个字存储在通用寄存器中,并同时在内部存储器的前四个字存储单元中依次写入指令I)中断返回地址为DSP处理器的内部存储器零地址;指令2)禁止所有中断;指令3)将存储在通用寄存器中的前四个字存储至内部存储器的前四个字存储单元中;3. 2重载接口函数启动一个252字的DMA,此时DSP处理器处于空闲状态;3. 3利用252字的DMA将重载内核中的后252个字引导复制到内部存储器中并去覆盖初始应用程序的后252个字,直到252字的DMA的引导复制操作完成,此刻中断触发,依次执行指令I) _3),重载内核引导复制完成。本专利技术的优点是1、在ADI公司提供的四种加载方式之外,本专利技术开发的一种存储空间、存储类型不受限制的加载方式,提高了应用灵活性与可用性。配合相应DSP外部接口调用,可实现多个应用程序多次加载,不需费时费力地反复对引导PROM芯片进行编程等擦写操作,易于应用程序的调试、升级和维护。2、新开发的重载内核的使用方法与ADI公司原先提供的3种加载核的应用模式一致,并与DSP开发环境Visual DSP++实现无缝连接,不需作任何修改,用户应用程序的开发、编译使用简单易行。3、动态重载方法使用的重载内核以及初始应用程序中调用的重载接口函数均使用ADI公司针对ADSP-TS20xS处理器平台的汇编语言编写,即受编译器优化设置的影响较小,其与编译生成机器指令代码差异较小,保证了代码执行的可靠性和重载功能的稳定性。附图说明图1为本专利技术动态重载过程示意图;图2为本专利技术映像文件格式及引导说明。具体实施例方式下面对本专利技术做进一步详细说明。动态重载的实现步骤以ADSP-TS201S处理器为例说明动态重载过程见图1所示,其主要流程及步骤如下(I)生成映像文件在DSP处理器的开发环境下,将待重载的应用程序结合重载内核生成映像文件;其中重载内核能够实现从外部动态存储器中加载应用程序,并定义了映像文件在外部存储空间中的存储地址;(2)重载应用映像数据的准备(即DSP处理器的初始化);(3)重载接口函数将映像文件中的重载内核引导复制到DSP处理器的内部存储器中去覆盖初始应用程序;(4)重载内核代码执行,完成待运行的应用程序的引导复制和启动;(5)执行待运行的应用程序,实现动态重载过程。动态重载过程简而言之就是,重载接口函数完成RAM-Boot重载内核的搬家工作,而重载内核的任务是从外部存储空间中取出用户应用程序,加载到DSP处理器的内部存储器中去,对相关寄存器的初始配置,并完成随后启动用户应用程序的工作,这样ADSP-TS201S就完成了用户代码重载。 (2)应用映像数据的准备利用任意应用程序作为初始应用程序对DSP处理器进行初始化,并利用初始应用程序通过DSP处理器的外部接口获取映像文件,本文档来自技高网
...

【技术保护点】
一种DSP处理器的动态重载方法,其特征在于:包括以下步骤:1】生成映像文件:在DSP处理器的开发环境下,将待重载的应用程序结合重载内核生成映像文件,重载内核能够实现从外部动态存储器中加载应用程序,并定义了映像文件在外部存储空间中的存储地址;2】DSP处理器的初始化:利用任意应用程序作为初始应用程序对DSP处理器进行初始化,并利用初始应用程序通过DSP处理器的外部接口获取映像文件,并把映像文件存放在重载内核指定的外部存储空间中;所述初始应用程序中包括重载接口函数;所述重载接口函数能够实现从外部动态存储器中加载重载内核;3】重载接口函数将映像文件中的重载内核引导复制到DSP处理器的内部存储器中去覆盖初始应用程序:4】内部存储器中的重载内核将存储在外部存储空间中的映像文件中的应用程序引导复制到DSP处理器的内部存储器中去覆盖重载内核,生成待运行的应用程序;5】执行待运行的应用程序,完成动态重载。

【技术特征摘要】
1.一种DSP处理器的动态重载方法,其特征在于包括以下步骤I生成映像文件在DSP处理器的开发环境下,将待重载的应用程序结合重载内核生成映像文件,重载内核能够实现从外部动态存储器中加载应用程序,并定义了映像文件在外部存储空间中的存储地址;2DSP处理器的初始化利用任意应用程序作为初始应用程序对DSP处理器进行初始化,并利用初始应用程序通过DSP处理器的外部接口获取映像文件,并把映像文件存放在重载内核指定的外部存储空间中;所述初始应用程序中包括重载接口函数;所述重载接口函数能够实现从外部动态存储器中加载重载内核;3重载接口函数将映像文件中的重载内核引导复制到DSP处理器的内部存储器中去覆盖初始应用程序4内部存储器中的重载内核将存储在外部存储空间中的映像文件中的应用程序引导复制到DSP处理器的内部存储器中去覆盖重载内核,生成待运行的应用程序;5执行待运行的应用程序,完成动态重载。2.根据权利要求1所述的DSP处理器的动态重载方法,其特征在于步骤4的具体步骤为4.1内部存储器中的重载内核根据外部存储空间中的应用程序启动DMA操作,从应用程序的第257个字开始按照数据块依次加载到内部存储器中,从内部存储器的第257个字起按照数据块依次存储,直至加载至最后一个数据块;4. 2将应用程序的前256个字中的前四个字存储在通用寄存器中...

【专利技术属性】
技术研发人员:韩强
申请(专利权)人:中国航空工业集团公司第六三一研究所
类型:发明
国别省市:

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

1