flash存储器的在系统编程及其在dsp系统中的应用

flash存储器的在系统编程及其在dsp系统中的应用

ID:24311617

大小:49.00 KB

页数:4页

时间:2018-11-13

flash存储器的在系统编程及其在dsp系统中的应用_第1页
flash存储器的在系统编程及其在dsp系统中的应用_第2页
flash存储器的在系统编程及其在dsp系统中的应用_第3页
flash存储器的在系统编程及其在dsp系统中的应用_第4页
资源描述:

《flash存储器的在系统编程及其在dsp系统中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、FLASH存储器的在系统编程及其在DSP系统中的应用

2、第1其中常用的有:数据线的DQ2(跳变位)、DQ5(超时标志位)、DQ6(跳变位)、DQ7(数据查询位)和管脚RY/BY#。有三种方法可以判断某种操作是否进行完。一种是判断管脚RY/BY#的状态。在编程、擦除或擦除悬挂操作过程中,RY/BY#管脚为“0”;操作完成后变为“1”。另一种是用DQ7tDQ5判断。DQ7位在编程或擦除过程中输出的是写入该位数据的反码,而当操作完成时,该位输出变为写入该位的数据,因此查询此位可以判断操作进程。但还要读取DQ5的状态,若为“1”,操作超时

3、,应再读一次DQ7的状态,若DQ7输出仍不是写入的数据,则操作失败,应将FLASH复位。其流程如图1所示。还有一种是检测跳变位。在对FLASH存储器进行编程或擦除时,对任何地址进行连续的读会引起DQ6不断跳变,而一旦操作结束就停止跳变。其流程如图2所示。1.4FLASH存储器的操作程序采用前面的命令字和操作进程检测方法,用户就可以用DSP编程语言编写FLASH存储器操作程序了。下面给出擦除和编程子程序的部分代码。/*Samplecodesforeraseandprogram*/cerase:PUSHDPPUSHR0…/*擦除命令

4、*/chkc:LDIAR0,R0NOP/检查擦除是否完成*/NOPXOR*AR0,R0BNZchkcPOPR0POPDPRETSsprg:PUSHDPPUSHR0…/*编程命令*/chkp:LDI*-AR2(1),R0/*检查编程是否完成*/NOP/*检查编程是否完成*/NOPXOR*-AR2(1),R0BNZchkpPOPR0POPDPRETS2TMS320C3X系列DSP的上电引导功能实际DSP电路中,调试后的用户程序必须能够脱离仿真器独立运行,500)this.style.ouseg(this)">这就涉及到如何将用户程序

5、代码编程到FLASH存储器中。用户程序执行有两种方式:一种是上电后用户程序直接在FLASH存储器中运行;另一种是上电后将用户程序从FLASH存储器引导到高速数据存储器中运行。由于第一种方式影响程序的运行速度,现在大多数实现电路都采用第二种方法。下面以TI公司的TMS320C3X系列DSP为例,说明如何由仿真器最初生成的可执行文件实现第二种方法的过程。2.1MS320C3X的上电引导程序和引导表引导程序(bootloader)是在一些DSP(如C3X,C4X系列)片内固化的一个程序,它负责上电时初始化存储器。换句话说,它将程序从非

6、易失性存储器(如EPROM或FLASH存储器)中调入系统的存储器中。引导程序要调入的代码称为引导表(boottable)。引导表中除了包括源代码之外还,包含一些附加信息。这些信息指导引导程序的具体执行过程。一方面,存放引导表的介质一般都是物理总线宽度小的存储器(如8位,16位等),而DSP系统总线的宽度一般都是32位的(对C3X,C4X系列),因此就存在着代码的拆分与组合问题,这就需要一些附加信息来“告诉”引导程序;另一方面,TI的DSP的可可靠文件是COFF格式的,它将程序代码分为很多不同的段(如.text,.bss,.con

7、st等),这些段的大小和存储地址都是不同的,因此也需要额外的信息来说明。因此可以说引导表是由程序代码和一些附加信息组成的一种数据结构。每一种DSP,其引导表的数据结构也是不同的,但其基本结构差不多。具体来说引导表的格式主要由下面几部分组成:首先是一个包含引导表数据宽度和其它数据总线控制寄存器值的文件头;接着是COFF文件中各个段的数据,其中每个段又都包含一个该段的文件头来指示该段的代码长度及目标地址;最后是一个结束段,表明程序代码的结尾。2.2如何产生引导表由于COFF文件格式与引导表格式对用户是透明的,因此用户可以自己编程由C

8、OFF格式生成引导表。这无疑是一项很繁琐的工作,幸好DSP公司一般都在它们的开发软件中提供了一个转换工具,如TI公司的HEX30工具。这样,用户需要做的只是提供一个命令文件,即可由转换工具生成可以上电引导的引导表。在生成引导表时,应特别注意几个“字宽度”的概念。只有正确理解这几个概念,才能生成正确的引导表。首先是目标字宽度。它指COFF文件内原始数据的宽度,是指处理器的操作码长度。对特定DSP,该长度是固定的,不能改变。其次是数据宽度,可用-dataemoryandfileforthehexutility*/prog.out;C

9、OFF文件名-boot;引导所有段的内容-I;输出文件的格式-memoryouseg(this)">例如,最初的COFF文件为prog.out,C语言程序将HEX工具生成的prog.i0文件转化为prog.dat,那么最后的烧写程序类似下面所给出的格式。/*As

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。