侵权投诉
当前位置:

OFweek电子工程网

数字信号处理

正文

DSP器件的现场可编程技术

导读: DSP问世以来,以其强大的功能、合理的价格已经被设计者广泛应用。但不同于FPGA器件的是,DSP并不是为现场可编程而开发的,因此,在嵌入了DSP器件的产品中,如果需要对产品性能进行升级而需要升级程序时,往往会由于现场可编程能力缺乏,而给用户造成麻烦。

  DSP问世以来,以其强大的功能、合理的价格已经被设计者广泛应用。但不同于FPGA器件的是,DSP并不是为现场可编程而开发的,因此,在嵌入了DSP器件的产品中,如果需要对产品性能进行升级而需要升级程序时,往往会由于现场可编程能力缺乏,而给用户造成麻烦。本文以TI公司的54系列DSP为例,通过对DSP开发过程的分析和代码生成机理的深入研究,找到了一种对DSP器件进行现场编程的方法。

  1 54x DSP的开发

  CCS集成开发环境是TI公司针对其全系列DSP开发的仿真编译器,可开发目前TI公司几乎所有类型的DSP芯片。在CCS集成开发环境下,54x DSP的开发一般分为以下几个步骤:程序编写、程序编译、COFF文件生成、仿真运行、HEX文件生成、程序存储器烧写和上机运行等,具体流程如图1所示。

  

  在源程序正确的情况下,可编译生成COFF(common()bject File Format)文件,其后缀为.out,可用于进行硬件仿真运行,但不能直接作为程序烧写。如果要将程序写入DSP的外部程序存储器,首先要根据.out文件生成HEX文件。

  HEX文件的生成需要调用专用的生成程序HEX500,在WIN32环境下执行HEX500*.cmd命令,生成需要的*.hex文件。按照命令文件*.cmd中的选项,可设置存储器的类型、位数、起始地址,程序的人口地址、引导方式和hex文件的格式等。下面是一段用串口对8位串行EOPROM进行引导的命令文件的例子。

  123.out /*输入文件名*/

  -i /*INTEL格式*/

  -map 123.mxp

  -o 123.hex /*输出文件名*/

  -memwidth 8 /*8位存储器*/

  -romwidth 8 /*输出文件为字节*/

  -bcrotorg 0x0000 /*外部存储器开始地址*/

  -bootorg serial /*串口装载*/

  -e_main /*主程序人口*/

  SECTI()NS

  {.text;boot

  } /*整个程序作为一段引导*/

  2 HEX文件

  CCS的编译器和链接器生成COFF目标文件。COFF目标文件是二进制格式,有利于模块化编程和更高效的程序片断和目标系统存储器管理。但是大多数的编程器不接受COFF文件。可以用HEX转化程序将其转换为以下5种标准的ASCII十六进制格式:

  ◇ASCII-HEX,支持16位地址}

  ◇扩展的TeKtronix;

  ◇Intel MCS-86;

  ◇Motorola-s,支持16位、24位、32位地址;

  ◇TI Tagged,支持16位地址。

  仍然用前面的例子,命令文件生成的HEX文件片断如图2所示(用UltraEdit-32打开)。

  

  在命令文件中,也可以根据具体应用情况的不同规定不同的参数,例如,当使用并行存储器作为程序存储器时,则引导装载命令就要改为parallel。具体参数设置见参考文献[1]。

  3 硬件编程接口

  为仿真调试的方便,54x DSP器件都具有仿真编程用的JTAG接口,其引脚定义如图3所示。

  

  通过JTAG口,可以与DSP建立通信联系,并通过特定的程序,控制DSP的内部单元,让DSP执行预定的操作。这是DSP实现现场可编程的硬件基础,如图4所示。

  

1  2  下一页>  
声明: 本文由入驻OFweek公众平台的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

我来说两句

(共0条评论,0人参与)

请输入评论

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码: