11CCS集成环境IDE综述(IntegratedDevelopmentEnvironment)不仅仅是代码生成工具–具备基本调试功能,还具备实时分析的能力–支持整个软件开发过程:–设计–代码生成(项目建立,源程序编写,配置文件)–调试(语法检查,探测点,日志log功能)–实时分析(实时调试,实时状态显示,任务切换跟踪)实时(RealTime)是DSP的灵魂21.1CCS集成环境IDE综述TI公司的集成开发环境CCS(CodeComposerStudio)提供了环境配置、源文件编辑、程序调试、跟踪和分析等工具,可以帮助用户在一个软件环境下完成编辑、编译链接、调试和数据分析等工作。31.1CCS集成环境IDE的组成41.1CCS集成环境IDE的组成包括主机和目标系统两部分主机方:最底层是JTAG,上面是调试器,再上面是CCS的各种插件,包括DSP/BIOS插件(实时调试),RTDX(实时数据交换)目标系统:最底层是硬件和JTAG,向上是DSP/BIOS实时操作系统(这是可选的也可以没有操作系统,完全自己管理),再向上是应用程序.5CCS软件仿真器目标系统6软件系统设计框图编写C语言源程序优化ANSIC编译器汇编语言汇编器生成目标文件链接器生成TMS320汇编文件编写TMS320汇编源程序宏汇编源文件文档管理器宏汇编库输出执行文件调试器TMS320目标系统写EEPROM软件仿真软件开发系统评测模块EVM系统仿真XDS1.2CCS代码生成工具流图7Q:是否可以软件仿真?CCS一般工作在两种模式下:软件仿真器硬件开发板相结合的在线编程:可以脱离DSP芯片,在PC机上模拟DSP的指令集与工作机制,主要用于前期算法实现和调试;实时运行在DSP芯片上,可以在线编制和调试程序。81.3CCS软件TI公司耗资近2亿美元CCS2.0ForC5000系列CCS2.0ForC6000系列CCS2.0ForDSK(DeveloperStartKit,初学者开发套件)CCS3.3ForTIDSP系列9CCS2.0界面102CCS集成开发环境2.1CCS系统安装与设置2.2CCS菜单和工具栏2.3CCS中的编译器、汇编器和链接器选项设置2.4用CCS开发简单的程序2.5在CCS中读取数据和数据的图形显示2.6代码执行时间分析(Profiler的使用)112.1CCS系统安装与设置2.1.1CCS系统安装2.1.2为CCS安装设备驱动程序返回首页122.1.1CCS系统安装CCS对PC机的最低要求为Windows95、32MRAM、100M剩余硬盘空间、奔腾90以上处理器、SVGA显示器(分辨率800×600以上)。进行CCS系统安装时,先将CCS安装盘插入CD-ROM驱动器中,运行光盘根目录下的setup.exe,按照安装向导的提示将CCS安装到硬盘中。安装完成后,安装程序将自动在计算机桌面上创建如图2-1所示的“CCS2('C5000)”,“SetupCCS2('C5000)”等快捷图标。13图2-1“CCS2('C5000)”和“SetupCCS2('C5000)”快捷图标142.1.2为CCS安装设备驱动程序在安装CCS之后、运行CCS软件之前,首先需要运行CCS设置程序,根据用户所拥有的软、硬件资源对CCS进行适当的配置。启动SetupCCS2('C5000)应用程序,单击Close按钮关闭ImportConfiguration对话框,将显示CodeComposerStudioSetup窗口,如图2-2所示。15CodeComposerstudioSetup窗口162.2CCS菜单和工具栏2.2.1菜单2.2.2工具栏17CCS运行主窗口182.2.1菜单1.File菜单192.Edit菜单203.View菜单214.Project菜单225.Debug菜单236.Profiler菜单24时钟设置257.Option菜单26MemoryMap对话框278.Tools菜单282.2.2工具栏1.StandardToolbarStandard工具栏包括以下常用工具Standard工具栏292.GELToolbarGEL工具栏提供了执行GEL函数的一种快捷方法,如图2-8所示。在工具栏的左侧文本输入框中键入GEL函数名,再单击右侧的执行按钮即可执行相应的函数。如果不使用GEL工具栏,也可以使用Edit菜单下的EditCommandLine命令执行GEL函数。图2-8GEL工具栏令用户可以编写自己的控制面板/菜单,从而方便直观地修改变量,配置参数等303.ProjectToolbarProject工具栏提供了与工程和断点设置有关的命令,Project工具栏提供了以下命令如图2-9所示。图2-9Project工具栏314.DebugToolbarDebug工具栏提供以下常用的调试命令如图2-10所示。图2-10Debug工具栏325.EditToolbarEdit工具栏提供了一些常用的编辑命令及书签命令如图2-11所示。图2-11Edit工具栏336.Plug-inToolbarsPlug-inToolbars包括WatchWindow和DSP/BIOS两个窗口,其中WatchWindow如图2-12所示。图2-12WatchWindow工具栏返回本节342.3CCS中的编译器、汇编器和链接器选项设置2.3.1编译器、汇编器选项2.3.2链接器选项返回首页352.3.1编译器、汇编器选项编译器(Compiler)包括分析器、优化器和代码产生器,它接收C/C++源代码并产生TMS320C54x汇编语言源代码。汇编器(Assembler)的作用就是将汇编语言源程序转换成机器语言目标文件,这些目标文件都是公共目标文件格式(COFF)。如图2-13、表2-9所示。36图2-13生成选项窗口——编译器标签37表2-9编译器、汇编器常用选项(在Compiler中)38392.3.2链接器选项在汇编程序生成代码中,链接器的作用如下:(1)根据链接命令文件(.cmd文件)将一个或多个COFF目文件链接起来,生成存储器映象文件(.map)和可执行的输出文件(.out文件)。(2)将段定位于实际系统的存储器中,给段、符号指定实际地址。(3)解决输入文件之间未定义的外部符号引用(如图2-14、表2-10所示)。40图2-14生成选项窗口——链接器标签41表2-10链接器常用选项(在Linker中)4243CCS2.0调试功能(1)断点设置:多种step方法:singlestep(stepinto);stepover;stepout;runtocursor运行到断点处自动更新窗口观察和编辑变量、寄存器和存储器44CCS2.0调试功能(1)调用堆栈(callstack),显示函数调用层次关系.利用探点(probepoint)流入流出(streaminandout)存储器数据45CCS2.0调试功能(2)图形化显示数据一维数据,二维图象,眼图等代码剖析(Profile)计算代码运行时间46CCS2.0调试功能(3)472.4用CCS开发简单的程序1.创建新的工程文件工程文件中包含着设计中所有的源代码文件、链接器命令文件、库函数、头文件等。(1)在CCS的安装目录的myprojects子目录下创建一个volume1目录。(2)启动CCS,在Project菜单中选择New项,在Project中输入volume1,CCS将创建一个名为volume1.pjt的工程。482.将文件添加到工程中(1)将文件添加到工程中(2)察看工程的结构(如图2-15所示)。(3)查看代码49图2-15工程视窗503.生成和运行程序(1)选择菜单命令Project→RebuildAll,对工程重新编译、汇编和链接,主窗口下方的信息窗口将显示build进行汇编、编译和链接的相关信息。(2)选择菜单命令File→LoadProgram,在当前目录的Debug目录下选择volume1.out并打开,将Build生成的程序加载到DSP中。(3)选择菜单命令Debug→Run或在Debug工具栏上单击Run按钮,运行该程序。514.改变Build选项并修改程序语法错误选择菜单命令Project→BuildOptions,弹出BuildOptions窗口,选择Compiler标签,在类(Category)列表中选择预处理(Preprocessor),如图2-16所示。在DefineSymbols域中键入FILEIO,定义符号FILEIO。此时,在命令输入和显示窗口看到-d“FILEIO”。52图2-16在BuildOptions窗口定义FILEIO535.断点和观察窗口的应用(1)选择菜单命令File→ReloadProgram,重新加载程序(即加载volum1.out)。(2)在工程视图中双击volume.c,打开源文件编辑窗口,将光标放在dataIO()行上,并按F9键或工具栏中的设置断点。(3)选择菜单命令View→WatchWindow,弹出Watch窗口(如下图)。54图2-17观察窗口观察结构体变量的值552.5在CCS中读取数据和数据的图形显示2.5.1探点的设置及从PC机文件中读取数据2.5.2静态图形显示2.5.3动态图形显示562.5.1探点的设置及从PC机文件中读取数据(1)选择菜单命令File→LoadProgram,选择Volume1.out并打开。(2)在工程视图中双击Volume.c,在右边的编辑窗口中将显示源代码。(3)将光标放在主函数中的dataIO()那一行上。(4)单击图标,该行旁边蓝色标志表示设置了一个探点。(5)在File菜单中选择FileI/O,打开FileI/O对话框。57(6)点击FileInput标签,然后单击AddFile按钮。(7)选择sine.dat文件,单击Open按钮,出现如图2-18所示的sine.dat文件控制窗口,可以在运行程序时使用这个窗口来控制数据文件的开始、停止、前进、后退等操作。(8)在FileI/O对话框中,在Address域中填入inp_buffer,在Length域中填入100,同时选中WrapAround复选框,如图2-19所示。58(9)在FileI/O对话框中单击AddProbePoint按钮,弹出Break/ProbePoints对话框,如图2-20所示。(10)在Connect域,单击下拉箭头,并从列表中选择sine.dat。(11)单击Replace按钮,ProbePoint列表指示ProbePoint已与sine.dat文件相关联。(12)单击“确定”按钮。注意,FileI/O对话框Probel栏已变为Connected,表示文件已连至一个探点。(13)单击“确定”按钮,关闭FileI/O对话框。59图2-20Break/ProbePoints对话框602.5.2静态图形显示(1)选择菜单命令View→Graph→Time/Frequency,弹出GraphProperty(图形属性)对话框。(2)在GraphProperty对话框中更改图形的标题、起始地址、缓冲区大小、显示数据大小、DSP数据类型、自动标尺属性及最大Y值,如图2-21所示。(3)单击OK按钮,将出现Input图形窗口。61(4)在图形窗口中右击,从弹出菜单中选择ClearDisplay,清除已有显示波形。(5)再次执行菜单命令View→Graph→Time/Frequency。(6)这次将GraphTitle改为output,开始地址栏改为out_buffer。其他设置不变。(7)单击OK按钮,出现一个显示out_buffer波形的图形窗口,同样单击右键,从弹出菜单中选ClearDisplay,清除已有显示波形。62改变这些选项图2-21更改后的GraphProperty63642.5.3动态图形显示(1)在Volume.c窗口,将光标放在调用da