位置:51电子网 » 技术资料 » 测试测量

DSP器件的现场可编程技术

发布时间:2008/5/26 0:00:00 访问次数:532

        

    

    

    来源:单片机及嵌入式系统应用 作者:中国电子科技集团公司 邢建泉

    

    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所示。

    

    

    4 现场可编程的实现方法

    

 

        

    

    

    来源:单片机及嵌入式系统应用 作者:中国电子科技集团公司 邢建泉

    

    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所示。

    

    

    4 现场可编程的实现方法

    

 

相关IC型号

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!