网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> 服务导航 >> 培训课程 >> C2000 >> 文章正文
  TMS320F206的FLASH烧录详析           ★★★ 【字体:
TMS320F206的FLASH烧录详析
作者:龚静    文章来源:今日电子    点击数:    更新时间:2008-3-4    

The analysis of burning program onto Flash memory in DSP TMS320F206

 

摘 要:本文以TI公司提供的PGMR20PP.ZIP烧录程序压缩包为例,详细介绍了此压缩包的文件构成、程序烧录的步骤、注意事项和错误信息及相应的解决办法。

关键词:微处理器;FLASH;烧录

1. 引言

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

---TI公司提供了PGMR20.ZIPPGMR20PP.ZIP两个压缩包供不同用户烧录FLASH用,PGMR20.ZIP适用于采用ISA总线的XDS510型仿真器,PGMR20PP.ZIP适用于并口XDS510PP型仿真器,以后者为例,XDS510PP仿真器一端通过EPP并口与PC主机相联,另一端通过符合IEEE标准1149.1JTAG口与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--1P-编程操作。例如:>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块进行CE的操作。

 

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编程时,没有外加的NMIRESET信号。

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

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

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

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

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

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

---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的研发同仁们有很好的参考价值。

 

 

参考文献

1 张雄伟,曹铁勇编著. DSP芯片的原理及开发应用》(第2版). 电子工业出版, 2000.9

2 TI公司产品手册, 2000

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    TMS320F206的仿真调试
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号