您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > DSP集成开发环境CCS_第3稿
第4章DSP集成开发环境CCSCCS是CodeComposerStudio的缩写,即代码设计工作室。它是TI公司推出的集成可视化DSP软件开发工具。DSPCCS内部集成了以下软件工具:◆DSP代码产生工具(包括DSP的C编译器、汇编优化器、汇编器和链接器)◆CCS集成开发环境(包括编辑、建立和调试DSP目标程序)◆实时基础软件DSP/BIOS(必须具有硬件开发板)◆RTDX、主机接口和API(必须具有硬件开发板)在CCS下,用户可以对软件进行编辑、编译、调试、代码性能测试(profile)和项目管理等工作。CCS可以提供如下功能:◆设置断点◆在断点处自动修改窗口◆观察变量◆观察和编辑存储器和寄存器◆利用测试点使数据流在目标系统和文件之间流动◆观察调用堆栈◆观察图形信号◆代码性能测试(profiling)◆观察反汇编和C指令执行◆提供GEL(通用扩展语言)语言。此语言能增加一个函数或功能到CCS菜单中来完成用户自己设定的任务,是扩展CCS功能的专用语言。使用CCS,可以加速DSP的开发进程,是DSP开发应用的得力助手。这里以C54xDSP的CCS2.2为例介绍CCS的一般用法,其他系列DSP的CCS用法与此类似,在此基础上容易掌握。4.1CCS系统安装与设置4.1.1系统对PC机的要求1.计算机类型:IBMPC及兼容机。2.操作系统要求:MicrosoftWindows95/98/2000或WindowsNT4.0、WindowsXPProfessional或XPHomeEdition。3.计算机最低配置要求:奔腾以上处理器、32MB内存、100MB剩余硬盘空间、SVGA800×600以上分辨率的显示器。4.1.2系统安装安装过程包括两个阶段:(1)安装CCS到系统中。将CCS安装光盘放入到光盘驱动器中,此时启动光盘自动运行程序,提示用户是否要安装CCS2。也可以运行光盘根目录下的setup.exe,按照安装提示,一步步完成安装(系统的默认安装目录是c:\ti,这里我们安装在d:\下)。同时,建议安装Acrobat,这是为方便用户阅读CCS2自带的帮助文档。如果在WindowsNT下安装。用户必须要具有系统管理员的权限,安装完成后,在桌面上会有“CCS2(‘C5000)”和“SetupCCS2(‘C5000)”两个快捷方式图标。分别对应CCS应用程序和CCS配置程序。(2)运行CCS配置程序设置驱动程序。如果CCS是在硬件目标板上运行,则先要安装目标板驱动卡,然后运行“CCSSetup”配置驱动程序。最后才能执行CCS。除非用户改变CCS应用平台类型。否则只需运行一次CCS配置程序。4.1.3“CCSsetup”配置程序“CCSsetup”配置程序用来定义DSP芯片和目标板类型。双击桌面上的“SetupCCS2(‘C5000)”快捷方式图标。弹出对话框如图4-1所示。图4-1CCS配置对话框用户从“AvailableConfigurations”列表中选取应用平台类型,例如需要使用C5402软件仿真器,则选择“C5402DeviceSimulator”,然后单击“Import”按钮。对话框中的“Filters”用于设置DSP类型、平台类型等。在配置对话框设置完成后,“CCSsetup”将“C5402DeviceSimulator”作为系统配置显示在“MySystem”一栏中。4.2CCS集成开发环境应用利用CCS集成开发环境,用户可以在一个开发环境下完成工程定义、程序编辑、编译链接、调试和数据分析等工作环节。下面以CCS安装目录下(d:\ti\tutorial\sim54xx\sinewave\)的“正弦波”工程(sinewave.pjt)为例,阐述应用程序开发的一般过程。4.2.1创建工程(project)文件由于CCS是以工程文件方式进行管理的,所以要在CCS中编译、汇编、链接C程序及汇编程序,首先要创建一个工程文件,然后再将相关程序放入到工程文件中。创建应用程序对应的工程项目的过程比较简单。选择Project→New就可打开如图4-2所示的对话框。在“Project”文本框中键入将要创建的工程项目名,在“Location”文本框中键入或者选择将要创建的工程项目所处的位置,在“Project”下拉列表中选择将要创建的工程项目的配置(可执行程序.out或目标库函数.lib),在“Target”下拉列表中选择将要创建的工程项目所对应的目标器件系列(TMS320C54xx或TMS320C55xx)。本例工程项目名为“sinewave”,工程项目所处的位置为“d:\ti\myprojects\”,工程项目的配置为“可执行程序”,工程项目所对应的目标DSP器件系列为“TMS320C54xx”。图4-2创建工程项目4.2.1.1向工程中添加文件首先将安装目录下(d:\ti\tutorial\sim54xx\sinewave\)的文件sine.h,sine.c,sinewave.cmd拷贝到我们的工程目录下(d:\ti\myprojects\sinewave),然后选择Project→AddFilestoProject,在d:\ti\myprojects\sinewave目录中查找sine.c,同时打开它。此时系统将sine.c文件自动添加到Project→Source中。用同样的方法将sinewave.cmd文件添加到对应的目录中。注意:*.h文件不能用上述方法添加到工程,而是利用Project→ScanAllFileDependencies,系统自动将*.h文件添加到include目录中。4.2.1.2编辑文件通过双击project→Source目录下的sine.c文件可以查看或编辑源程序,下面我们对sine.c文件做如下修改:在语句行puts(“SineWaveexamplestarted.\n”);后加入以下一段程序:for(i=0;i360;i++)a[i]=0;for(i=0;i360;i++)a[i]=(int)(sin(i*3.14159/180)*32767);4.2.1.3构建工程工程所需文件编辑完成后,可以对该工程进行编译链接,产生可执行文件,为调试做准备。构建工程的方法如下:1.设置编译器、汇编器和链接器选项:选择Project→BuildOptions。通常使用默认值,如需修改,请查阅TI公司的TMS320C54xOptimizingCCompiler手册或联机帮助文档。2.编译、汇编、链接:选择Project→Build(第一次编译的文件)或选择Project→RebuildAll(重新编译的文件),这时CCS编译、汇编、链接project中的源文件(编译、汇编、链接一起完成)。我们选择Project→Build后,系统提示在编译sine.c文件时出现两处错误:标志符i和a未定义。在sine.c文件中定义全局变量:inta[360],i;并保存,再次选择Project→Build,该错误消除,但系统仍然提示有出错信息。向工程中添加CCSC编译器的实时运行支持库文件rts.lib后,问题解决。此时,系统自动生成一个可执行文件,sinewave.out文件。注:也可单独完成编译、汇编、链接。4.2.2调试CCS提供了异常丰富的调试手段。在程序执行控制上,CCS提供了4种单步执行方式。从数据流角度上,用户可以对内存单元和寄存器进行查看和编辑、载入/输出外部数据、设置探针等。一般的调试步骤为:载入构建好的可执行程序,先在感兴趣的程序段设置断点,然后执行程序停留在断点处,查看寄存器的值或内存单元的值,对中间数据进行在线(或输出)分析。反复这个过程直到程序完成预期的功能。4.2.2.1载入可执行程序选择File→LoadProgram载入编译链接好的可执行程序。用户也可以修改“ProgramLoad”属性,使得在构建工程后自动装入可执行程序。设置方法为选择命令Options→Customize…,在ProgramLoadOptions标签下进行设置。我们在d:\ti\myprojects\sinewave\debug目录中找sinewave.out文件,同时打开它,这时在反汇编窗口显示该文件的反汇编程序。除在反汇编窗口中可以显示反汇编代码外,CCS还允许用户在调试窗口中混合显示C和汇编语句。用户可以选择命令View→MixedSource/Asm,则在其前面出现一对选中标志。选择Debug→GoMain,调试器开始执行程序并停留在main()处。C源程序显示在编辑窗中,与C语句对应的汇编代码以暗色显示在C语句下面。4.2.2.2运行程序程序运行,可以选择Debug→Step单步运行或选择Debug→Run全程运行或选择相关图标,可以通过查看内存表等方法,看到程序运行的结果。4.2.2.3设置断点设置断点是最常用的程序调试方法之一。程序在断点处暂停运行,用户可以查看程序状态、检查或修改存储器、查看调用堆栈等。断点主要分为软件断点和硬件断点两类,二者的区别在于,硬件断点不修改目标程序。设置软件断点可以先把光标放到想设置断点的语句上,然后单击鼠标右键,选择“Togglebreakpoint”或者直接单击工具栏中的手掌图案的图标或者双击鼠标左键。一般步骤如下:(1)双击project窗口的*.c文件,并使窗口最大化。(2)在某行语句处设置断点,例如:在sine.c程序中,将光标放在“a[i]=(int)(sin(i*3.14159/180)*32767);”语句处。双击鼠标左键,此行前面出现红色亮点。(3)选择Debug→Run运行程序,在“a[i]=(int)(sin(i*3.14159/180)*32767);”语句处程序停止,这时你可以选择Debug→StepInto或F8键单步跟踪程序,查看程序的运行情况,你也可以设置多个断点跟踪程序。(4)取消断点:选择Debug→Breakpoints,在Breakpoint表中,点击DeleteAll然后点击确定可消除所有的断点。若想消除单个断点,只需在该断点所处的语句行双击鼠标左键即可。软件断点的实现是通过在用户目标代码中插入陷阱(TRAP)指令,将正常的程序流转到调试器(Debugger)上。设置软件断点时,应注意以下两点:·避免将断点设置在分支或调用的语句上;·避免将断点设置在块重复操作的倒数第一或第二条语句上。硬件断点将系统总线状态与预先设定的锁存器内容相比较,用以检测对于指定地址的访问,而不修改任何程序存储器内容。虽然设置局部断点需要硬件断点来实现,但软件断点仍然是方便、实用的。当用户的目标程序存放在ROM中时,因无法插入TRAP指令而不能使用软件断点。所以,对于ROM程序存储器系统,只能使用硬件断点。因此,硬件断点适用于在ROM存储器中设置断点或在内存读写时产生中断。硬件断点的设置方法如下:(1)选择Debug→Breakpoints。(2)对于ROM存储器中的断点设置,在“Breakpoints”类型下拉菜单中选择“H/WBreak”,对于内存读写产生中断设置,在“Breakpoints”类型下拉菜单中选择“BreakonbusRead|Write|R/W”。“Breakpoints”类型下拉菜单中的选项将随着目标板或仿真器的不同而不同。(3)在“Location”栏键入想设置断点处的语句地址。地址有两种格式:绝对地址——有效的C语言表达式或C语言函数名、标号名;断点地址——格式为:文件名line行数。(4)单击“Add”按钮。4.2.2.4观察数据和图形在程序运行期间,可以在屏幕上跟踪程序的运行结果,帮助你调试程序;可选用数据和图形的方法观察结果。1.观察数据(1)使用watch窗口观察数据①选择View→WatchWindow,在CCS窗口的右下角出现watch窗口,程序运行时,这个区显示watch变量的值。②将光标移到观察窗口中连续两次在Name栏单击鼠标(注意不是双击),然后填入变量符号即可。例如:在调试sine.c程序时,键入a数
本文标题:DSP集成开发环境CCS_第3稿
链接地址:https://www.777doc.com/doc-904235 .html