第7章 CCS软件及C语言编程
Code Composer Studio (简称CCS)是TI公司推出的用于开发DSP程序的集成开发环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP程序的开发与设计,是目前使用最为广泛的DSP开发软件之一。章将概述DSP程序的开发过程、CCS组件及CCS使用的文件和变量以及C语言编程。   
    7.1  CCS的简介
图7.1 DSP程序的开发阶段
CCS是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面。CCS提供了基本的代码生成工具,它们具有一系列的调试、分析能力。CCS    支持如图7.1所示的DSP程序开发周期的所有阶段。
在使用CCS之前,必须完成下述工作:
(1)安装DSP目标板和驱动软件。按照随DSP目标板所提供的说明书安装。如果你正在用仿真器或目标板,其驱动软件已随目标板提供,你可以按产品的安装指南逐步安装。
(2)安装CCS环境。遵循安装说明书进行安装,如果你已有CCS仿真器和TMS320C64X代码生成工具,但没有完整的CCS,你可以按安装说明书进行安装。
(3)设置CCS仿真环境。运行CCS安装程序SETUP,你可以将CCS设置成Simulator或Emulator工作方式。
CCS包括如下各部分:
CCS代码生成工具
CCS集成开发环境(IDE)
DSP/BIOS插件程序和API
RTDX插件、主机接口和API
■ 由TI公司之外的第三方提供的各种应用模块插件等
CCS构成及接口如图7.2所示。
7.2 代码生成工具
代码生成工具奠定了CCS所提供的开发环境的基础。图7.3是一个典型的软件开发流
conversion翻译方法的定义图7.2  CCS构成及接口
程图,图中阴影部分表示通常的C语言开发途径,其它部分是为了强化开发过程而设置的附加功能。
图7.3描述的工具如下:
C编译器(C compiler) 产生汇编语言源代码,其细节参见TMS320C6000最优化C编译器用户指南。
汇编器(assembler) 把汇编语言源文件翻译成机器语言目标文件,机器语言格式为公用目标格式(COFF),其细节参见TMS320C6000汇编语言工具用户指南。
连接器(linker) 把多个目标文件组合成单个可执行目标模块。它一边创建可执行模块,一边完成重定位以及决定外部参考。连接器的输入是可重定位的目标文件目标库文件,有关连接器的细节参见TMS320C6000最优化C编译器用户指南和汇编语言工具用户指南。
归档器(archiver)允许你把一组文件收集到一个归档文件中。归档器也允许你通过删除、替换、提取或添加文件来调整库,其细节参见TMS320C6000汇编语言工具用户指南。
助记符到代数汇编语言转换公用程序mnimonic_to_algebric assembly translator utility)把含有助记符指令的汇编语言源文件转换成含有代数指令的汇编语言源文件,其细节参见TMS320C6000汇编语言工具用户指南。
你可以利用建库程序(library_build utility)建立满足你自己要求的“运行支持库”,其细节参见TMS320C6000最优化C编译器用户指南。
运行支持库(run_time_support libraries) 它包括C编译器所支持的ANSI标准运
图7.3  软件开发流程
行支持函数、编译器公用程序函数、浮点运算函数和C编译器支持的I/O函数,其细节参见TMS320C6000最优化C编译器用户指南。
十六进制转换公用程序(hex conversion utility) 它把COFF目标文件转换成TI-Tagged、ASCII-hex、 Intel、 Motorola-S、或 Tektronix 等目标格式,可以把转换好的文件下载到EPROM编程器中,其细节参见TMS320C6000汇编语言工具用户指南。
交叉引用列表器(cross_reference lister)它用目标文件产生参照列表文件,可显示符号及其定义,以及符号所在的源文件,其细节参见TMS320C6000汇编语言工具用户指南。
绝对列表器(absolute lister)它输入目标文件,输出.abs文件,通过汇编.abs文件可产生含有绝对地址的列表文件。如果没有绝对列表器,这些操作将需要冗长乏味的手工操作才能完成。
7.3 CCS集成开发环境
CCS集成开发环境(IDE)允许编辑、编译和调试DSP目标程序。
7.3.1 编辑源程序
CCS允许编辑C源程序和汇编语言源程序,你还可以在C语句后面显示汇编指令的方式来查看C源程序。
集成编辑环境支持下述功能:
用彩加亮关键字、注释和字符串。
以圆括弧或大括弧标记C程序块,查匹配块或下一个圆括弧或大括弧。
在一个或多个文件中查和替代字符串,能够实现快速搜索。
取消和重复多个动作。
获得“上下文相关”的帮助。
用户定制的键盘命令分配。
7.3.2创建应用程序
应用程序通过工程文件来创建。工程文件中包括C源程序、汇编源程序、目标文件、库文件、连接命令文件和包含文件。编译、汇编和连接文件时,可以分别指定它们的选项。在CCS中,可以选择完全编译或增量编译,可以编译单个文件,也可以扫描出工程文件的全部包含文件从属树,也可以利用传统的makefiles文件编译。
7.3.3 调试应用程序
CCS提供下列调试功能:
设置可选择步数的断点
在断点处自动更新窗口
查看变量
观察和编辑存储器和寄存器
观察调用堆栈
对流向目标系统或从目标系统流出的数据采用探针工具观察,并收集存储器映象
绘制选定对象的信号曲线
估算执行统计数据
观察反汇编指令和C指令
CCS提供GEL语言,它允许开发者向CCS菜单中添加功能。
7.4 硬件仿真和实时数据交换
TI DSPs提供在线硬件仿真支持,它使得CCS能够控制程序的执行,实时监视程序运行。增强型JTAG连接提供了对在线硬件仿真的支持,它是一种可与任意DSP系统相连的低侵扰式的连接。仿真接口提供主机一侧的JTAG连接,如TI XSD510。为方便起见,DSP评估板都会提供在板JTAG仿真接口。
在线硬件仿真提供多种功能:
DSP的启动、停止或复位功能
向DSP下载代码或数据
检查DSP的寄存器或存储器
硬件指令或依赖于数据的断点
包括周期的精确计算在内的多种记数能力
主机和DSP之间的实时数据交换(RTDX)
CCS提供在线硬件能力的嵌入式支持;另外,RTDX通过主机和DSP APIs提供主机和DSP之间的双向实时数据交换,它能够使开发者实时连续地观察到DSP应用的实际工作方式。在目标系统应用程序运行时,RTDX也允许开发者在主机和DSP设备之间传送数据,而且这些数据可以在使用自动OLE的客户机上实时显示和分析,从而缩短研发时间。
RTDX由目标系统和主机两部分组成。小的RTDX库函数在目标系统DSP上运行。开发者通过调用RTDX软件库的API函数将数据输入或输出目标系统的DSP,库函数通过在线硬件仿真硬件和增强型JTAG接口将数据输入或输出主机平台,数据在DSP应用程序运行时实时传送给主机。
在主机平台上,RTDX库函数与CCS一道协同工作。显示和分析工具可以通过COM API与RTDX通信,从而获取目标系统数据,或将数据发送给DSP应用例程。开发者可以使用标准的显示软件包,诸如National Instruments’ LabVIEW,Quinn-Curtis’ Real-Time Graphics Tools,或Microsoft Excel。同时,开发者也可研制他们自己的Visual Basic或Visual C++应用程序。
RTDX能够记录实时数据,并可将其回放用于非实时分析。下述样本由National Instruments’ LabVIEW 软件产生。在目标系统上,一个原始信号通过FIR滤波器,然后与原始信号一起通过RTDX发送给主机。在主机上,LabVIEW显示屏通过RTDX COM API获取数据,并将它们显示在显示屏的左边。利用信号的功率谱可以检验目标系统中FIR滤波器是否正常工作。处理后的信号通过LabVIEW,将其功率谱显示在右上部分;目标系统的原始信号通过LabVIEW的FIR滤波器,再将其功率谱显示在右下部分。比较这两个功率谱便可确认目标系统的滤波器是否正常工作。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。