程序动态加载方法技术

技术编号:2918704 阅读:206 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种程序动态加载方法,用于向DSP的目标系统动态加载应用程序,该DSP具有外接非易失性存储器ROM、外接随机存储器SDRAM和片上内存RAM,该方法先根据需要执行的应用程序,制作应用程序映像,并对应生成应用程序映像恢复信息;接着将应用程序映像恢复信息及引导程序固化于ROM,将DSP连接至上位机,系统上电后执行ROM中的引导程序,再与上位机通信,将应用程序映像加载至SDRAM中;随后将应用程序映像按照应用程序映像恢复信息分别复制到RAM和SDRAM的相应位置;最后将DSP复位至应用程序的运行环境,执行应用程序。本发明专利技术的方法通过自定义的通信协议以及软件复位,从上位机加载应用程序,可实现应用程序的动态加载,并能保护应用程序的产权。

【技术实现步骤摘要】

本专利技术涉及一种,特别涉及一种应用于DSP的动态加载程序方法。
技术介绍
DSP(Digital Signal Processor,数字信号处理器)因其运算精度高、实时性强等特点,在工业控制、多媒体处理及消费类电子等领域得到了广泛应用。在DSP系统中,应用程序通过仿真调试后必须装载到DSP目标系统后方可成为独立的脱机运行系统。为实现应用程序的装载,必须对DSP进行引导装载设计。现有技术中的常用做法是将应用程序存放在外部非易失性存储器中,如EPROM、FLASH等,系统上电后DSP开始引导加载。根据选用的DSP的型号和应用程序的大小,可分为一级引导和二级引导。如果应用程序的大小小于DSP复位后自动搬运的大小,可采用一级引导,否则需采用二级引导。二级引导指利用DSP复位后自行搬运的代码实现外部非易失性存储器上其余部分代码的搬运,并在搬运结束后跳转到应用程序入口处执行。上述引导方法需要将应用程序烧写到非易失性存储器上,不利于保护应用程序产权。而且一旦应用程序需要更新,便要重新烧写,不能实现应用程序的动态加载。申请号为200310104051.0的中国专利中提到了动态加载方法,其通过软件复位,修改DSP加载起始地址实现应用程序的动态加载。在该方法中,能够被加载的应用程序仍然需要事先烧写到非易失性存储器中,并不是真正意义上的动态加载方法。
技术实现思路
本专利技术的目的在于提供一种,以实现DSP引导时动态地从其他地方加载应用程序,该方法在方便程序更新的同时,也可保护应用程序的产权。为了达到上述的目的,本专利技术提供一种应用,用于向DSP的目标系统动态加载应用程序,所述的DSP具有一外接非易失性存储器、一外接随机存储器以及一片上内存,所述方法包括下列步骤(1)根据需要执行的应用程序,制作一应用程序映像,并对应地生成一应用程序映像恢复信息;(2)将所述应用程序映像恢复信息以及一引导程序固化于所述外接非易失性存储器;(3)将所述DSP连接至一上位机,系统上电后所述DSP先执行所述外接非易失性存储器中的引导程序,随即等待与所述上位机通信,当接收到所述上位机发出连接信号后,将所述应用程序映像加载至所述DSP的外接随机存储器中;(4)将收到的所述应用程序映像按照应用程序映像恢复信息分别复制到所述DSP的片上内存和外接随机存储器的相应位置;(5)将所述DSP复位至应用程序的运行环境;(6)执行所述应用程序。在上述应用中,步骤(1)更进一步包括(1-a)预先定义DSP的片上内存的一段内存空间为第一空间,将应用程序映像恢复信息存储至所述第一空间;(1-b)分配应用程序的存储空间,所述存储空间不得覆盖所述的第一空间;(1-c)根据应用程序使用的所有存储空间,制作应用程序映像。在上述应用中,所述DSP的外接非易失性存储器可为ROM,EPROM以及FLASH其中之一。在上述应用中,所述的应用程序映像恢复信息包括应用程序映像恢复代码以及数据。在上述应用中,所述DSP可通过VEM总线、CAN总线、以太网、光纤、串口以及并口其中任一方式进行通信。在上述应用中,基于所述DSP与其上位机采用的通信协议,所述DSP是通过对应于VEM总线、CAN总线、以太网、光纤、串口以及并口其中任一方式的通信协议获得应用程序映像。在上述应用中,在步骤(1)之后还包括一加密步骤,用以对所述应用程序映像进行加密。在上述应用中,在步骤(4)之前还包括一解密步骤,用以对所述已加密的应用程序映像进行解密。本专利技术的应用,以外接非易失性存储器的DSP引导加载应用程序映像的方法为基础,通过自定义的通信协议以及软件复位,从上位机加载应用程序,进而实现了应用程序的动态加载,有效地保护了应用程序的知识产权。附图说明通过以下对本专利技术的一实施例结合其附图的描述,可以进一步理解其专利技术的目的、具体结构特征和优点。其中,附图为图1为应用了本专利技术的应用的一个具体实施例的系统架构图;图2为本专利技术的应用的流程图。具体实施例方式以下将结合一个具体的实施例对本专利技术的应用作进一步的详细描述。本实施例针对基于DSP的运动控制软件,为方便控制算法的更改和保护,采用上述方法实现控制软件的动态加载。请参阅图1,为本实施例所用系统架构。在本实施例中,运行Solaris操作系统的SUN工作站10通过以太网20与运行VxWorks操作系统的上位机PowerPC 30通信。PowerPC 30与各运动控制卡50通过VME总线40互连。其中,所述运动控制卡50上包括一DSP,所述DSP的型号可为TMS320C6711,但不限于此。此外,本实施例中各个单元所使用的应用程序映像均存放在SUN工作站10上。需要说明的是,本专利技术的应用可透过任一种计算机程序语言结合DSP等硬件设备实现,本专利技术的应用中包含一个引导程序,所述引导程序一般预先固化于DSP外接的ROM中,由于ROM为只读存储器,使用者不能随意修改所述引导程序,因此保证了系统的安全性,当DSP上电后,首先从ROM中执行所述引导程序,但本
的一般技术人员都应清楚地知晓本专利技术的应用不仅局限于所述的具体的引导程序,而是透过DSP等硬件设备、软件程序以及接口技术实现应用程序加载。图2为本专利技术的应用的流程图,如图2所示,首先,执行步骤S1,当DSP上电时,上述引导程序自动从ROM中指定的存储空间搬运1K数据至DSP的内存RAM,由于应用程序的大小小于引导程序,因此,此处需采用二级引导。接着,执行步骤S2,上述引导程序将ROM中除步骤S1已搬运的1K数据之外的其他数据搬运至DSP内存RAM。随后执行步骤S3,装载着DSP的运动控制卡50与PowerPC 30建立通信,其首先设置标志位告知PowerPC 30当前DSP板处于等待下载状态,当与PowerPC 30建立通信后,通过交互,实现应用程序映像的下载。本实施例采用的自定义的基于DPRAM(双端口RAM)的通信协议实现通信交互及应用程序映像的下载,但实现通信交互及应用程序映像的下载方式不限于此。最后执行步骤S4,在应用程序映像成功下载后,通过应用程序映像恢复功能实现应用程序的执行环境恢复,将应用程序按照应用程序映像恢复信息分别复制到所述DSP的片上内存RAM和外接随机存储器SDRAM的相应位置,待恢复完成后,跳转到应用程序的入口地址,开始执行所述应用程序。此外,需要补充说明的是,本实施例中实现应用程序映像恢复功能的代码可采用汇编语言编写,并放在应用程序未使用的若干中断向量表中,在应用程序开始时,首先需要清除未使用的中断对应的中断向量表。使用者可通过TI(德州仪器)提供的hex6x工具制作应用程序映像,为了进一步保护知识产权,使用者还可采用现有的加密方法,例如DES加密方法对应用程序映像进行加密,在加载完已加密的应用程序映像之后,进行解密,进而实现应用程序映像的恢复。综上所述,通过本专利技术的应用,成功实现了DSP应用程序的动态加载,方便了应用程序的更新。另外,本实施例中应用程序存放在SUN工作站上,未烧写到DSP板中,因此能够有效保护应用程序的产权。权利要求1.一种应用,用于向DSP的目标系统动态加载应用程序,所述的DSP具有一外接非易失性存储器、一外接随机存储器以及一片上内存,其特征在于,所述方法包括下列步骤(1)根据需要执行本文档来自技高网
...

【技术保护点】
一种应用程序动态加载方法,用于向DSP的目标系统动态加载应用程序,所述的DSP具有一外接非易失性存储器、一外接随机存储器以及一片上内存,其特征在于,所述方法包括下列步骤:(1)根据需要执行的应用程序,制作一应用程序映像,并对应地生成 一应用程序映像恢复信息;(2)将所述应用程序映像恢复信息以及一引导程序固化于所述外接非易失性存储器;(3)将所述DSP连接至一上位机,上电后所述DSP先执行所述外接非易失性存储器中的引导程序,随即等待与所述上位机通信,当接收 到所述上位机发出连接信号后,将所述应用程序映像加载至所述DSP的外接随机存储器中;(4)将收到的所述应用程序映像按照应用程序映像恢复信息分别复制到所述DSP的片上内存和外接随机存储器的相应位置;(5)将所述DSP复位至应用程 序的运行环境;(6)执行所述应用程序。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘君张方元
申请(专利权)人:上海微电子装备有限公司
类型:发明
国别省市:31[中国|上海]

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

1