专利名称:基于dsp的在线程序固化方法
技术领域:
本发明设计基于DSP系统的程序固化的技术领域,具体涉及到嵌入式DSP系统中 将程序固化到NOR FLASH存储器中的方法. 在嵌入式DSP系统中,最终脱离上位机的调试环境,而脱机的运行DSP系统,也就 是用户代码需要在系统加点后自动的进行装载,就需要使用的非易失的存储器,比如传统 就使用EPROM,EEPROM(可编程可擦写的只读存储器),然而市场上EEPROM的工作电压一般 为5V,与3. 3V的DSP进行连接的时候需要进行专门的电路设计,而且它的容量小,体积大, 功耗高,而且擦写速度也慢,并且最复杂和最不方便的是使用EEPROM进行编程需要使用专 用的烧写电路模块,而且不能进行系统的在线编程,必须将存储器芯片拔下再插入,不仅效 率很低,而且增加了对EEPROM芯片的磨损程度,给我们对系统的开发,维护和升级都带来 了很大的不便。 为了克服现有的DSP系统中程序固化方法复杂,而且根据不同的存储器芯片,所 使用的方法都不确定的问题,本发明专利提出了一种在DSP系统中,使用NOR FLASH大容量 存储器进行在线程序固化的方法。 本发明所使用的技术方案是在电路设计上,FLASH存储器采用的是SST公司的 SST39VF088,速度等级为70,是一个32bit的1MB的NOR类型的FLASH芯片,DSP芯片采用 的是TI公司的C6727,其中DSP芯片和FLASH存储器,进行直接的连接,FLASH映射到C6727 的CE1地址空间,即从0X90000000地址开始的长度为1M的长度为FLASH。因为在DSP调试 阶段所使用的可执行代码是.out的COFF格式的,在其中包含了很多无用的信息,在烧录之 前,先需要将初始化段和初始化的数据信息,从COFF格式中进行提取,这部分的工作就是 在DSP系统中在线进行的。提取出来的格式就是可以烧录到FLASH芯片中的十六进制的数 据。提取代码的这段工作是在DSP中完成的,可以实现在线的烧录。 接下来的工作,就是本发明的关键步骤之二,使用DSP对外部的FLASH进行在线烧 录。每个FLASH都是以扇区为最小单位进行操作,接下来的便是块和片。在烧录之前,首先 必须完成对FLASH的擦写工作。擦写完毕后,才能对相应的地址进行写数据的工作。在写 数据的过程中,就需要根据器件的不同,采取不同的命令字,本发明中使用的是通用的宏设 置,使得具有通用性,待烧录完成后,DSP退出程序固化的工作,重新进入等待状态。
本发明与背景技术相比的有益效果是,FLASH的存储器比EEPROM等非易失性存储 器具有更大的容量和经济效益,通过本发明提供的方法,DSP可以实现快速,通用的在线程 序固化,告别了繁琐的固化步骤。
背景技术:
发明内容
图1是C0FF格式文件的组成结构
图2是擦除和烧写FLASH的示意图
图3是本发明的完整流程示意图
具体实施方法 如图l所示,经过编译器生产的可执行代码是基于COFF格式的文件,它分为文 件头,段头,初始化段数据等信息,而我们所需要的只是初始化段的信息,于是首先在本发 明中根据这种结构的特点编写了一个提取初始化段的方法,之后就可以得到诸如.text,. cinit.和.const段的十六进制的代码。 如图2所示,在烧写所使用的FLASH芯片时,采取的步骤是,首先对FLASH进行整
片的擦除,再擦除后,才可以对相应的扇区进行写入的工作。这里的地址都是可以在DSP中
直接进行映射的。根据不同的命令字的指令,就可以完成相应的写操作。 如图3所示,是整个的发明的一个完整的流程示意图。其中包括最开始的DSP提
取初始化段的工作,进行FLASH的整片擦除的工作,进行对应地址写数据的步骤,最后进入
等待指令的循环,结束工作。
权利要求
一种在DSP嵌入式系统中的进行FLASH的在线程序固化的方法,其特征是不使用FLASH烧录器,只使用DSP芯片,在线的进行程序和代码的固化。
2. 根据权利1所述的DSP进行在线FLASH固化的方法,其特征是根据COFF格式的文 件特征,在DSP的固件中固化有提取初始化段的代码, 一旦需要烧录的文件到达,则首先将 文件中的的初始化段提取出来以供下面烧录文件使用。
3. 根据权利1所述的DSP进行在线FLASH固化的方法,其特征是根据所使用FLASH芯 片的不同,采取特定的命令字,进行FLASH的擦除和烧写工作。将初始化代码烧写入FLASH 前,首先进行整片FLASH的擦除,整片擦除后,FLASH所有地址空间的数据为OxFF,然后采用 轮询的算法将正确的数据烧写入FLASH的相应存储空间并进行验证。对FLASH进行擦除和 烧写的代码都是在DSP内运行的,完全的实现了 DSP对片外FLASH的在线编程。
全文摘要
本发明公开了一种在DSP系统中,使用NORFLASH大容量存储器进行在线程序固化的方法。它是采用DSP芯片可以之间外接大容量的FLASH芯片的特点,将外部的非易失性存储器直接的映射到系统的地址之上,是的DSP可以直接的对外部存储器进行访问和编程。它首先采用内置的提取文件将初始化段提取出来,然后将已经进行重定位的初始化段再重新映射到相应的DSP存储空间中。本发明另外提出了一种在线的进行FLASH擦写和烧写的方法,根据命令字所提供的系统服务,由DSP操作,可以方便的进行外部存储器的编写工作。
文档编号G06F9/445GK101777001SQ20091006045
公开日2010年7月14日 申请日期2009年1月8日 优先权日2009年1月8日
发明者胡科 申请人:胡科