数字信号微处理器TMS320F206的FLASH烧录详析

来源:本站
导读:目前正在解读《数字信号微处理器TMS320F206的FLASH烧录详析》的相关信息,《数字信号微处理器TMS320F206的FLASH烧录详析》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《数字信号微处理器TMS320F206的FLASH烧录详析》的详细说明。
简介:本文以TI公司提供的PGMR20PP.ZIP烧录程序压缩包为例,详细介绍了此压缩包的文件构成、程序烧录的步骤、注意事项和错误信息及相应的解决办法。

1. 引言

---TMS320F206是TI公司生产的高性能定点DSP芯片,其片内具有32KB的闪烁存储器(FLASH),利用闪烁存储器存储程序,不仅降低了成本,减小了体积,同时系统升级也很方便。当用户程序调试完成后,如何将程序烧录进FLASH以保证程序能够独立运行,本文就此问题进行了详细的分析。

---TI公司提供了PGMR20.ZIP和PGMR20PP.ZIP两个压缩包供不同用户烧录FLASH用,PGMR20.ZIP适用于采用ISA总线的XDS510型仿真器,PGMR20PP.ZIP适用于并口XDS510PP型仿真器,以后者为例,XDS510PP仿真器一端通过EPP并口与PC主机相联,另一端通过符合IEEE标准1149.1的JTAG口与DSP相连,其接线如图1所示。

---对FLASH的烧录必须按照“清零”--让所有位为零、“置1”--让所有位为1、“编程”--使选择位为0这样三步来进行,PGMR20PP.ZIP压缩包提供了两种方法即B0法和SARAM法来实现这样操作。

2. B0法

---所谓“B0法”是指利用DSP内的B0 RAM空间作为烧录程序的空间,利用B0法烧录时,清零、置1、编程的操作只能分别单独执行,这虽然影响效率,但对于调试和诊断确是非常有利的,实现B0法的批处理文件如下:

---①BTEST.BAT--测试程序;用于检测JTAG口与目标板的连接是否完好,在对FLASH烧录之前都要实施这一检测,若出错,则任何对FLASH的操作都将不能正确执行。

---②BC0.BAT--对FLASH 0清零的算法;BC1.BAT--对FLASH 1清零的算法。

---③BE0.BAT--对FLASH 0的置1算法;BE1.BAT--对FLASH 1的置1算法。

---④BP32K.BAT--例程。

---⑤BFLW0.BAT--对FLASH 0的编程算法;BFLW1.BAT--对FLASH 1的编程算法。

3. SARAM法

---所谓“SARAM法”是指利用DSP内的SARAM空间作为烧录程序的空间,它不再局限于B0法的单独执行,而是可以综合执行清零、置1、编程的操作,提高了效率。但是对于TMS320F240这种没有SARAM存储空间的DSP芯片就不能用此法,而只能用B0法。实现SARAM法的批处理文件如下:

---①STEST.BAT--测试程序,作用同B0法。

---②SCE0.BAT--对FLASH 0进行清零和置1的算法;SCE1.BAT--对FLASH 1进行清零和置1的算法;SARAM法允许在一个批处理文件中完成清零和置1的综合操作,但如果清零失败,将不会继续置1的操作而是会中止。

---③SP32K.BAT--例程。

---④SCEP0.BAT--对FLASH 0进行清零、置1并编程的算法; SCEP1.BAT--对FLASH 1进行清零、置1并编程的算法;同理,若清零、置1不能顺利完成,则不会进行编程操作而是会中止。

4.个性化的烧录法

---尽管有了B0法和SARAM法,但实际情况是多变的,而每个人的要求也是不同的,为此介绍一种个性化的烧录方法,其基本格式是:PRG2XXPP -[OPTIONS] C2XX_SPX.OUT NAME.OUT

----[OPTIONS]项的说明如表1所示。

---在表1中 -s 设定一个16进制数初始化变量PRG_option ,PRG_option说明见表2。

---F0/1: FLASH选择位,用于指定哪块FLASH被选中来进行指定的操作,相应位为“1”表示选定对应的FLASH。

---P/E/C: FLASH操作位,仅对SARAM法有效,对B0法无效,P/E/C相应位为“1”表示对选中的FLASH块进行对应的C--清零、E--置1、P-编程操作。例如:>PRG2XXPP -P 278 -S 0X4003 C2XX_SPX.OUT 116K0.OUT

---对有些PC其默认的I/O口地址为378,而这一地址又往往被其他设备所占用,这时候用B0法和SARAM法都将不能完成烧录,而只能采用个性化的烧录法在命令行中利用-P选项改变I/O口地址,例如,上面-p选项值为278,-S 0X4003表示对FLASH 0块进行C、E的操作。

5. 错误信息及对策

---在具体的烧录过程中往往还会碰到诸多的问题,下面对可能出现的四类错误信息分析了其产生的原因及相应的解决办法。

---①系统中止错误

---在执行PRG2XXPP后,系统停止了,则可能的原因有:命令行的-p选项指定了错误的口地址;DSP目标板没有连接好;JTAG口连接错误;DSP目标板存在外加的复位信号。

---②与JTAG连接相关的错误

---“ERROR 100”:处理器初始化出错。表示目标板通电但扫描电路没有正常工作,可能的原因有:-n选项指定的装置名错误;目标板的VDD电压低于预期值;JTAG的一个或者多个管脚出现了开路或短路错误。

---“ERROR 101”:DSP目标板不能复位。

---“ERROR 102”:初始化ST1寄存器失败。

---“ERROR 103”:不能写算法指定的存储空间。

---“ERROR 104”:不能读算法指定的存储空间。

---“ERROR 105”:目标系统写失败。

---“ERROR 106”:目标系统不能从PC指定的地址开始执行。

---“ERROR 107”:目标系统无法停止。

---“ERROR 108”:DSP处理器处于不确定状态。

---上述出现的错误都与JTAG没能保证正常通信有关,检查JTAG连接口的TCK_RET信号,并确保在对FLASH编程时,没有外加的NMI或RESET信号。

---③与文件处理有关的错误

---“ERROR 110”:命令行中指定的文件找不到,检查路径和文件名是否正确。

---“ERROR 111”:装载COFF文件失败,重新检查命令行的COFF文件格式,检查是否链接出错。

---④与FLASH算法有关的错误

---“ERROR 109”:处理器超时。原因是CPU时钟不是20MHz,若CPU速率太快,则编程算法中使用的软件延时将会缩短从而导致算法不能正常完成;解决的办法就是用示波器检查CPU的时钟并给予更正。

---“ERROR 113”:编程算法失败。可能的原因有:在进行编程操作前FLASH并没有完全置1,例如,COFF文件超出了FLASH 0的地址范围,这时候编程前两块FLASH(0 、1)都要先置1;CPU时钟不是20MHz;COFF文件错误,可改用给定的例程试。

---“ERROR 114”:清零、置1算法失败。可能的原因有:如果错误出现在清零和置1时候,则说明FLASH内的一些存储空间已经损坏了,这样的损坏往往是由于操作者对FLASH过渡置1引起的,例如,对只有部分编程的FLASH经常执行置1操作就可能导致损坏,出现损坏后,修复的办法就是运行BFLW0/1.BAT文件利用对FLASH的写脉冲来修复装置;如果错误出现在清零而不是置1和编程时候,则FLASH存储空间没有损坏,因为是否损坏的检测只在置1和编程时候才会被执行,此时应该检查CPU时钟是否为20MHz,若不是,予以更正,若是,则FLASH存储空间可能就是永久性损坏了。

6.结语

---本文介绍了PGMR20PP.ZIP压缩包中的B0法和SARAM法,并进一步介绍了适于不同情况的个性化烧录办法,烧录过程中可能出现的错误信息的给出和相应的原因分析,对DSP的研发同仁们有很好的参考价值。

提醒:《数字信号微处理器TMS320F206的FLASH烧录详析》最后刷新时间 2024-03-14 01:02:26,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《数字信号微处理器TMS320F206的FLASH烧录详析》该内容的真实性请自行鉴别。