[发明专利]基于DSP的在线程序固化方法无效
申请号: | 200910060455.1 | 申请日: | 2009-01-08 |
公开(公告)号: | CN101777001A | 公开(公告)日: | 2010-07-14 |
发明(设计)人: | 胡科 | 申请(专利权)人: | 胡科 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 471039河南省洛阳市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 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是COFF格式文件的组成结构
图2是擦除和烧写FLASH的示意图
图3是本发明的完整流程示意图
具体实施方法
如图1所示,经过编译器生产的可执行代码是基于COFF格式的文件,它分为文件头,段头,初始化段数据等信息,而我们所需要的只是初始化段的信息,于是首先在本发明中根据这种结构的特点编写了一个提取初始化段的方法,之后就可以得到诸如.text,.cinit.和.const段的十六进制的代码。
如图2所示,在烧写所使用的FLASH芯片时,采取的步骤是,首先对FLASH进行整片的擦除,再擦除后,才可以对相应的扇区进行写入的工作。这里的地址都是可以在DSP中直接进行映射的。根据不同的命令字的指令,就可以完成相应的写操作。
如图3所示,是整个的发明的一个完整的流程示意图。其中包括最开始的DSP提取初始化段的工作,进行FLASH的整片擦除的工作,进行对应地址写数据的步骤,最后进入等待指令的循环,结束工作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于胡科,未经胡科许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910060455.1/2.html,转载请声明来源钻瓜专利网。