基于dsp的在线程序固化方法

文档序号:6483177阅读:473来源:国知局
专利名称:基于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日
发明者胡科 申请人:胡科
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1