北京交通大学国家工科电工电子教学基地DSP应用技术1第4章集成开发环境CCSDSP开发需要强有力的软件开发工具。软件开发工具一般具有代码生成和代码调试的功能。北京交通大学国家工科电工电子教学基地DSP应用技术2DSP开发需要强有力的软件开发工具。软件开发工具一般具有代码生成和代码调试的功能。设计代码&编译调试分析CCS开发流程北京交通大学国家工科电工电子教学基地DSP应用技术3代码生成工具包括:C优化编译器、汇编器和连接器等。作用:将用户编写的源代码(C语言、汇编或两者的混合语言)编译、汇编、连接成为可执行的公共目标文件(COFF),将公共目标文件(文件后缀为.out)下载到DSP目标板或Simulator中即可运行。调试工具主要有:C/汇编代码调试器、硬件仿真器(Emulator)、软件模拟器(Simulator)等。北京交通大学国家工科电工电子教学基地DSP应用技术4◆集成可视化代码编辑界面。可直接编写C程序、汇编程序、连接命令文件.cmd等。◆集成代码生成工具。包括汇编器、C优化编译器、连接器等。◆基本调试工具。如装载可执行代码、查看寄存器、存储器和变量的窗口。◆断点工具。设置断点使程序暂停,以便于查看有关数据,确定程序可能出错的位置。3.1CCS的主要功能北京交通大学国家工科电工电子教学基地DSP应用技术5◆探针调试。用于数据文件的输入和输出。◆剖析工具(Profiler)。用于评估代码运行所需要的时钟数,进而确定代码的运行时间。◆数据图形显示工具。用于绘制变量的时域/频域波形、眼图、星图等,直观显示数据。北京交通大学国家工科电工电子教学基地DSP应用技术6CCS的组件工作机理北京交通大学国家工科电工电子教学基地DSP应用技术7典型的软件开发流程北京交通大学国家工科电工电子教学基地DSP应用技术8一、CCS代码产生工具CCS代码产生工具是将用户编写的源代码(C语言、汇编或两者的混合语言)编译、汇编、连接成为可执行的公共目标文件(COFF),其包括优化C/C++编译器、汇编器、连接器和各类工具。图是一个典型的软件开发流程。图中阴影部分表示通常C语言的开发途径,其它部分是为了强化开发过程而设置的附加功能。北京交通大学国家工科电工电子教学基地DSP应用技术9C/C++优化编译器(Ccompiler):将C语言源代码翻译成TMS320C54xDSP汇编语言源代码。它包括编译器、优化器、内联工具、建库工具和C++名称防毁坏工具。汇编器(Assembler):将汇编语言翻译成机器语言的目标文件,机器语言的格式为公用目标格式(COFF)。它包括汇编器、归档器、连接器、绝对列表器、交叉参考列表器和十六进制转换工具等。北京交通大学国家工科电工电子教学基地DSP应用技术10连接器(linker):把多个目标文件组合成一个可执行的目标模块。连接器的输入可以是重定位的目标文件和目标库文件。交叉引用列表器(Cross-referencelister):它用目标文件产生参照列表文件,可以显示符号及其定义,以及符号所在的位置。归档器(Archiver):归档器允许把一群文件收集到单一的归档文件,称之为库。允许通过删除、替换和添加文件来调整库。北京交通大学国家工科电工电子教学基地DSP应用技术11十六制转换工具(Hexconversionutility):将COFF目标文件转换为TI可识别、十六进制ASCII、Intel、Motorola-S或Tektronix格式,转换后的文件可下载到EPROM或FLASH中。绝对列表器(Absolutelister):接收被连接的目标文件作为输入,产生.abs文件作为输出。可以将这些.abs文件汇编生成一个列表,它包含绝对地址(而不是相对地址)。如果没有绝对列表器,这些工作需要手工才能完成。北京交通大学国家工科电工电子教学基地DSP应用技术12二、CCS代码调试工具CCS代码调试工具实现对DSP程序及DSP系统进行调试和分析。主要包括:断点、观察窗、探针、软件仿真器分析、硬件仿真器分析、事件触发、图表、数据转换器等工具。北京交通大学国家工科电工电子教学基地DSP应用技术13断点是代码调试过程中的基本手段。功能:可以暂停程序的执行,以便检查程序的当前状态,检查或修改变量等。设置方法:CCS在源程序窗口中的有效行按,成功设立断点后,出现断点图标(红色图标)。1.断点北京交通大学国家工科电工电子教学基地DSP应用技术142.变量观察窗当调试一个程序时,需要了解程序执行期间变量的值及其变化过程。功能:观察数据窗口监视变量的数值以及C/C++表达式。观察方法:View菜单下,按WatchWindow。WatchLocals:自动显示位于当前执行函数的变量的名称Name,数值Value和类型Type。Watch1:显示用户要求的局部、全局变量和表达式的名称Name,数值Value,进制Radix和类型Type。北京交通大学国家工科电工电子教学基地DSP应用技术153.探针功能:探针主要用于在PC和DSP系统之间读写数据。将主机PC上的文件中数据(输入数据)传输到DSP目标上物理存储区(存放算法所使用变量所在的)中;将DSP目标上的物理存储区中的数据(输出数据)传输到主机PC上以供分析。设置方法:CCS在源程序窗口中的物理存储区所在行按,成功设立探针后,出现探针图标(兰色图标)。北京交通大学国家工科电工电子教学基地DSP应用技术16将探针和数据文件关联的方法:(1)先将DSP可执行文件下载到DSP目标板中,打开源程序,设置探针。(2)从File菜单中选择FileI/O,通过对此对话框的设置,将探针和外部数据文件关联。运行程序,CCS就将外部数据文件中的数据存储到DSP的物理存储区。相似的设置也可以将DSP的物理存储区中的数据提取到外部数据文件中。北京交通大学国家工科电工电子教学基地DSP应用技术174.图形观察窗程序执行过程中,变量观察窗只能观察变量的数值变化,这种观察不直观,而且在观察多个变量时十分困难。CCS集成信号分析接口,提供全程监视信号数据,并可将数据以图形方式显示。功能:观察信号的时域图形、频谱、星图以及眼图等。观察方法:单击View菜单的Graph,选择Time/Frequency…,然后选择要观察的图形北京交通大学国家工科电工电子教学基地DSP应用技术18三、代码剖析工具(Profiler)分析程序时,需要确定处理器在程序的每一部分所花时间,从而帮助用户识别并消去性能发挥的瓶颈,减少程序的执行时间,有助于使程序更加有效。剖析工具功能:确定程序在执行特定函数所花费的时钟周期数,以及调用的频率,对分支转移次数、中断发生等进行评价,以便于用户对程序性能影响大的代码段的进行优化,满足执行程序时间最小化和实时性要求。北京交通大学国家工科电工电子教学基地DSP应用技术19CodeSize代码大小Incl.Count运行中进入代码段次数Inc.Totall.消耗的所有时钟周期Inc.Maximum执行代码一遍消耗的最大时钟周期Inc.Minimum执行代码一遍消耗的最小时钟周期Incl.Average执行代码一遍平均消耗的时钟周期剖析参数含义