第5章DSP集成开发环境(CCS)5.1CCS集成开发环境简介5.2CCS应用举例2019/9/13DSP技术及应用2Windows下工作,类似于VC++的集成开发环境;采用图形接口界面,有编辑工具和工程管理工具;它将汇编器、链接器、C/C++编译器、建库工具等集成在一个统一的开发平台中;5.1CCS集成开发环境简介2019/9/13DSP技术及应用3CCS所集成的代码调试工具具有各种调试功能,能对TMS320系列DSP进行指令级的仿真和可视化的实时数据分析。丰富的输入/出库函数和信号处理库函数。C5000CCS是专门为开发C5000系列DSP系统(C54x和C55x)。2019/9/13DSP技术及应用4设计设计方案编程和编译编辑源文件生成代码调试语法检查断点设置分析实时调试、统计和跟踪CCS软件开发流程2019/9/13DSP技术及应用55.1.1.CCS安装及设置1.CCS2.0系统的安装2019/9/13DSP技术及应用6以下目录结构被添加到Windows目录:ti\drivers.各种DSP板驱动文件ti\plugins.和CCS一起使用的插件程序ti\uninstall.支持卸载CCS软件的文件当使用CCS时,你将经常遇见下述扩展名文件:project.prj.CCS使用的工程文件program.c.C程序源文件program.asm.汇编程序源文件filename.h.C程序的头文件,包含DSP/BIOSAPI模块的头文件filename.lib.库文件project.cmd.链接命令文件2019/9/13DSP技术及应用7program.obj.由源文件编译或汇编而得的目标文件program.out.(经完整的编译、汇编以及连接的)可执行文件project.wks.存储环境设置信息的工作区文件,program.cdb.配置数据库文件。采用DSP/BIOSAPI的应用程序需要这类文件,对于其它应用程序则是可选的。保存配置文件时将产生下列文件:programcfg.cmd.链接器命令文件programcfg.h54.头文件programcfg.s54.汇编源文件2019/9/13DSP技术及应用82.系统配置原因:为使CCSIDE能工作在不同的硬件或仿真目标上步骤:双击桌面上的SetupCCS2(’C5000)图标,启动CCS设置。在弹出对话框中单击“Clear”按钮,清除以前定义的配置。从列出的可供选择的配置文件中,选择能与使用的目标系统相匹配的配置文件。2019/9/13DSP技术及应用9单击加入系统配置按钮,将所选中的配置文件输入到CCS设置窗口当前正在创建的系统配置中。单击“File-Save(保存)”按钮,将配置保存在系统寄存器中。当完成CCS配置后,单击“File-Exit”按钮,退出CCSSetup。2019/9/13DSP技术及应用10双击桌面上CCS2(’C5000)图标,启动CCSIDE显示CCS主界面。3.系统启动2019/9/13DSP技术及应用115.1.2CCS的窗口、菜单和工具条寄存器显示窗口工程窗口原程序编辑窗口反汇编窗口图形显示窗口内存单元显示窗口1.CCS的窗口2019/9/13DSP技术及应用122.CCS的菜单•File菜单:提供了与文件相关的命令,New,Load等•Edit菜单:提供了与编辑有关的命令,Register等•View菜单:是否显示工具栏、窗口和各种对话框等Memory•Project菜单:使用工程管理设计文档,Compile,Build…•Debug菜单:提供常用调试命令,BreakpointsProbePoints•Profiler菜单:剖切点是CCS在调试程序时,统计某一块程序执行所需要的CPU时钟周期数、程序分支数、子程序被调用数和中断发生次数等统计信息•Option菜单:提供CCS的一些设置选项,Font2019/9/13DSP技术及应用13Project菜单(工程文件被存盘为*.pjt文件)(1)AddFilestoProject工程中支持C源文件(*.c*)、汇编源文件(*.a*、*.s*)、库文件(*.o*、*.lib)、头文件(*.h)和链接命令文件(*.cmd)(2)Compile对C或汇编源文件进行编译。(3)Build重新编译和链接。(4)RebuiledAll对工程中所有文件重新编译并链接生成输出文件。(5)StopBuild停止正在Build的进程。(6)BiuldOptions用来设定编译器、汇编器和链接器的参数。2019/9/13DSP技术及应用14•StandardToolbar:包括新建、打开、保存、剪切、复制、粘贴、取消、恢复、查找、打印和帮助等•ProjectToolbar:包括选择当前工程、编译文件、设置和移去断点/ProbePoint等功能。•EditToolbar:提供一些常用的查找和设置标签命令。•GELToolbar:提供了执行GEL函数的一种快捷方法。•ASM/SourceSteppingToolbar:提供了单步调试C或汇编源程序的方法•TargetControlToolbar:提供了目标程序控制的一些工具•DebugWindowToolbar:提供了调试窗口工具3.CCS的工具栏2019/9/13DSP技术及应用155.1.3CCS的工程管理1.典型工程文件记录的信息•源程序文件名和目标库;•编译器、汇编器和链接器选项;•头文件;2.创建和管理工程•工程的创建、打开和关闭(Project/New/Open/Close)•使用工程观察窗口(单击工程文件夹、工程名(*.pjt)和各个文件夹上的“+/-”号即可)•添加文件到工程(Project→AddFilestoProject)•从工程中删除文件(RemovefromProject)2019/9/13DSP技术及应用165.1.4.调试(1)装载可执行程序File→LoadProgram(2)复位(CCS提供4种方法)①ResetDSP:Debug→ResetDSP命令初始化所有R并停止运行程序。②LoadKernel:LodeKernel命令重新装入DSP核。③Restart:Debug→Restart命令将PC恢复到当前载入程序的入口地址,但不执行当前程序。④Gomain:Debug→Gomain命令提供了一种快速运行用户应用程序的方法。2019/9/13DSP技术及应用17(3)程序执行方式①单步执行操作•单步进入:Debug→StepInto:每操作一次,执行一条指令;•单步执行:Debug→StepOver:每操作一次,执行一条指令(函数,子程序看作一条);•单步调出:Debug→StepOut:从子程序跳出;•执行到光标处:Debug→RuntoCursor:程序运行到光标所在语句。②连续运行操作(实时运行)•运行程序:Debug→Run:从当前PC所指位置开始执行到结束或断点;•停止程序:Debug→Halt:暂停程序的执行;•自由运行:Debug→Runfree:全速执行用户程序,忽略所有断点。2019/9/13DSP技术及应用18③断点运行程序(动画)•在执行各个命令前应当预先设置好程序断点,每按一次按钮,从当前程序位置执行到所有遇到的第一个断点,…。•命令:Debug→animate;•断点设置:•探针(probe)断点:CCS在源程序某条语句上设置的一种断点。每个探针断点都有相应的属性(用户设置)用来与一个文件的读/写相关联。用户程序运行到探针断点所在语句时,自动读入数据或将计算结果输出到某个文件中。2019/9/13DSP技术及应用19(4)存储器、寄存器、变量的操作①存储器:拷贝数据块/填充数据块/察看/编辑内存②寄存器:显示寄存器/编辑寄存器③变量:用观察窗口查看变量/编辑变量(5)数据输入/输出①利用数据读入/写出功能命令:File→Data(Lode/Save)用途:偶尔的手工读入/写出场合②利用探针功能:适用于自动调入和输出数据场合。2019/9/13DSP技术及应用20(6)图形窗口分析数据提供了四类9种显示功能:每种显示所需的设置参数各不相同。①时频图②星座图:信号的相位分布;③眼图:信号码间干扰情况;④图像显示:YUV或RGB;成多帧)成一帧,按时间顺序构多帧显示(幅频曲线构频率曲线)相位频率幅度和相位(幅度频率曲线)(幅度复数时间曲线)双曲线图(幅度单FFTFFTFFT-/--FFT/-/2019/9/13DSP技术及应用215.1.5.通用扩展语言GEL•通用扩展语言GEL(GeneralExtensionLanguage)是一种与C类似的解释性语言。•用途:利用GEL语言,用户可以访问实际/仿真目标板,设置GEL菜单选项,特别适合用于自动测试和自定义工作空间2019/9/13DSP技术及应用225.2CCS应用举例通过本例要介绍的主要内容:•创建一个工程文件•向工程中添加源文件•浏览代码、编译和运行程序•修改Build选项并更正语法错误•使用断点和Watch窗口•使用探针的方法•图形显示的方法。2019/9/13DSP技术及应用231.创建一个工程通过“Project→New”,在工程窗口的Project下面创建一个Volume工程。2.向工程中添加源文件(1)通过“Project→AddFilestoProject”,将Volume.c添加到工程中。(2)用同样方法将Vector.asm添加到工程中。(Vector.asm中包含的是将RESET中断指向C程序入口c_int00的汇编指令和其他中断的入口指令。如果调试的程序较为复杂,则可在Vector.asm中定义更多的中断矢量)(3)将Volume.cmd添加到工程文件中。(该文件的作用是将段(Sections)分配到存储器中)(4)将load.asm添加到工程文件中。(该文件包含一个简单的汇编循环程序,被C程序调用。调用时带有一个参数(argument),执行此程序共需约1000×argument个指令周期)(5)将“C:\ti\c5400\cgtools\lib”下的rts.lib加入到工程文件中。(该文件是采用C语言开发DSP应用程序的运行支持库函数)2019/9/13DSP技术及应用244.编译和运行程序•“Project→RebuildAll”,对工程进行重新编译。•“File→LoadProgram”,选volume.out并打开,将Build生成的程序加载到DSP。•“View→MixedSource/ASM”。该设置使得C程序与其汇编结果同时显示。•“Debug→GoMain”。使得程序从主程序开始执行。•“Debug→Run”,可以在Output窗口看到“beginprocessing”信息。•“Debug→Halt,中止正在执行的程序。2019/9/13DSP技术及应用255.使用断点和Watch窗口(1)将光标放在“dataIO();”行。(2)单击鼠标右键,在弹出菜单上选Togglebreakpoint,设置断点。(3)选择“View→WatchWindow”,将出现Watch窗口。程序运行时WatchWindow窗口将显示要查看的变量值。•选择Watch1栏。(1)在Watch1窗口单击图标,在name栏输入dataIO。(2)选择“Debug→GoMain”。•选择“Debug→Run”,运行程序,显示出dataIO是一个函数,该函数存放的首地址是0x00001457。2019/9/13DSP技术及应用265.2CCS应用举例6.使用探针(ProbePoint)的方法ProbePoint的用途:有用工具,可从PC文件中存取数据。即•将PC文件中数据传送到目标板上的buffer,供算法使用。•将目标板上buffer中的输出数据传送到PC文件中以供分析。•更新一个窗口,如由数据绘出的Graph窗口。ProbePoint与Breakpoints的异同点:•相同点:都能中断程序的运行•不