CCS5000的使用
CCS(Code Composer Studio)代码调试器是一种集成开发环境(IDE,Integrated Development Environment)。 CCS是一种针对标准TMS320调试器接口的交互式方法。CCS目前有CCS1.1 CCS1.2 CCS2.0等三个不同的版本,每个版本应有CC2000(针对C2XX)
CCS5000(针对C54XX)CCS6000(针对C6X)等三个不同的型号。我们所使用的是CCS5000、1.2的版本。这里所说明的CCS的一切问题都是基于CCS5000所讨论,对其他版本的使用其差别不是很大,请参考其他有关资料。
1. CCS5000的特点
CCS5000具有以下特性:
l TI编译器的完全集成的环境
CCS5000目标管理系统,内建编辑器,所有的调试和分析能力集成在一个Windows环境中。
l 对C和DSP汇编文件的目标管理
目标编辑器保持对所有文件及相关内容的跟踪。它只对最近一次编译中改变过的文件重新编译,以节省编译时间。
l 高集成的编辑器调整C和DSP汇编代码
CCS5000的内建编辑器支持C和汇编文件的动态语法加亮显示,使用户能很容易地阅读代码和当场发现语法错误。
l 编辑和调试时的后台编辑
用户在使用编译器和汇编器时没有必要退出系统到DOS环境中,因为CCS5000会自动将这些工具装载在它的环境中。在其窗口中,错误会加亮显示,只要双击错误就可以直接到达出错处。
l 在含有浮点并行调试管理器(PDM)的原有的MS窗口下支持多处理器,CCS5000在 Windows95和Windows-me中支持多处理器。PDM允许将命令传播给所有的或所选择的处理器。
l 在任何算法点观察信号的图形窗口探针
图形显示窗口使用户能够观察时域或者频域的信号。对于频域图,FFT在主机内执行,这样就可以观察所感兴趣的部分而无须改变它的DSP代码。图形显示也可以同探针连接,当前显示窗口被更新时,探针被指定,这样当代码执行到达该点时,就可以迅速地观察到信号。
l 文件探针在算法处通过文件提取或加入信号或数据
CCS5000允许用户从PC机读或写信号流。而不是实时的读信号,这就可以用已知的例子来仿真算法。
l 图形分析
CCS5000的图形分析能力在其环境中是集成的。
l 在后台(系统命令)执行用户的DOS程序
用户可以执行CCS5000中的DOS程序,并将其输出以流水方式送到CCS5000的输出窗口。且允许用户将应用集成到CCS5000。
l 技术状态观察窗口
CCS5000的可视窗口允许用户键入C表达式及相关变量。结构、数组、指针都能很简单地递归扩展和减少,以便进入复杂结构。
l 代数分解窗口
允许用户选择查看写成代数表达式的C格式,从而容易读懂操作码。
l 目标DSP上的帮助
DSP结构和寄存器上的在线帮助可以使用户不必查看技术手册。
l 用户扩展
扩展语言(GEL)使得用户可以将自己的菜单项加到CCS5000的菜单栏中。
l 完全的开发环境
CCS5000将TI的编译器、汇编器、连接工具都集成到它的开发环境中。用户可以从菜单栏中选用TI的工具,并可以看到直接流水输出到窗口的编译结果。同时,出错信息加亮显示,双击出错信息可以打开源文件,光标停在出错处。基于DOS的TI的工具是多任务的。而在Windows环境中,用户可以很方便的同时编辑、调试、编译源程序。代码编译器可以跟踪一个项目中所有的文件及相关内容。用户可以选择编译单个的文件、或将所有文件建到一个项目中,或是逐步建项目。在编译器、汇编器、和连接器选项中有容易使用的对话框。
CCS5000的可视化窗口使用户能够容易理解复杂的结构。只要将光标放在相关变量处并按ENTER键,诸如数组、结构、指针的变量就可以递归的增加或减少。另外,添加到可视窗口的变量也可以通过双击该变量来编辑。C表达式和GEL函数也可以添加到可视窗口。将GEL函数添加到可视窗口,就可以在每个断点处执行。由GEL函数,可以执行更复杂的任务,将结果输出到窗口。
探针允许用户观察信号或在算法上加入或提取数据。它可以连接到结构点或存储空间。到达算法里的指定点时,已连接的信号探针就会从目标DSP中提取出数据并显示。如果将文件同指定点相连,数据就会在指定的存储空间与文件间传输。操作一结束,执行就开始。这种特性使得开发者能够很快地观察到目标内存并通过文件在特定的算法点增加或提取数据。利用动画特性,开发者可以通过使用PC机磁盘中的实信号细致地观察和执行信号,而不用改变源代码。
2. CCS5000的安装
CCS5000的安装很简单,将CCS5000的光盘放入光盘驱动器,就会自动提示用户安装CCS5000。同时,建议安装ACROBAT4,这为用户读CCS自带的技术文档提供阅读工具。
按照提示安装CCS5000,进行在线注册就可以使用了。安装之后,计算机桌面上会出现如下两个图标:
图0.1 CCS5000在桌面上的图标
图0.1中右边的图标是CCS5000的设置图标,左边是打开CCS5000的图标。打开CCS5000的设置图标会出现如下设置提示图:
图0.2 CCS5000设置图
图0.2中的设置包括C54xx和C55xx的软件仿真设置和硬件仿真设置。用户选择自己需要的仿真模式就可以了。
图0.3 一个多CPU硬件仿真的CCS5000设置
图0.3是一个多CPU硬件仿真的CCS5000设置,图中设置了三个CPU,使用并口仿真器。实际中,大部分情况只需要设置一个CPU就可以了。
安装时需要设置计算机的并口地址、并口模式、DSP型号、用户板的信息、产生流水冲突的警告以及驱动程序的安装等等。关于这些的设置请参考闻亭公司仿真器使用说明书或者DSP用户板的使用说明书。这里不做介绍。
3. CCS5000的使用
CCS5000的使用主要有如下几个方面:
l 创建新工程;
l 编译和连接工程;
l 调试工程;
在这里,只做一般的说明,更为详细的使用请参考TI公司提供的CCS说明文档《Code Composer Studio Getting Started Guide》、《Code Composer Studio IDE Quick Start》、《Code Composer Studio Online Documentation》、《DSP/BIOS Quick Start Reference Guide》。
1.创建新工程
在桌面上打开CCS5000,打开的主界面如下:
图0.4 打开的CCS5000的主界面图
图0.5 创建新工程
下拉图0.4中的Project菜单,将会出现“new”和“open”选项。创建新工程使用“new”选项。出现如图0.5所示界面,“Project Creation”,选择文件名称(默认为上一次打开的工程文件名称)、保存的路径(默认为上一次打开的路径)、保存的类型(默认为*.pjt)。然后选择“保存”就可以了,一个新的工程就创建了。
然后在新工程下编写用户的程序,也可以将以前的程序直接加载到新工程下。可以添加的文件包括*.c、*.asm、*.cmd、*.h、*.lib等文件。
一个完整的工程如图0.6所示;
图0.6 一个完整的工程文件
从图0.6中可以看出,一个完整的工程文件的包括一个CMD文件、若干各H文件、若干各LIB文件、若干个ASM文件、若干个C文件等。一个最简单的工程文件至少应该包括一个CMD文件和一个ASM文件(或者一个C文件)。
其中CMD文件也就是配置文件,是对源程序各个段的地址分配,DSP根据配置文件将程序的不同部分分配到自己的内部RAM单元。配置文件在连接过程中将定义DSP的RAM空间,然后将程序中的各个段分配到所定义的段,也就是对储存空间起一个配置的作用。
ASM文件或者C文件就是用户的源程序,如果采用汇编语言编写就是ASM文件,采用C语言编写就是C文件,一个工程文件中也可以既包括ASM文件也包括C文件。
稍微复杂一点的工程文件将包括必要的H文件和LIB文件,也就是头文件和库函数,可以使用标准头文件和用户自己的头文件。
2. 编译和连接工程
在工程创建完成,接着进行汇编、连接以生成目标文件*.out,可以有如下几种方法:
1、 从下拉菜单Project选择“Rebuild All”,一步完成汇编、连接,生成目标文件*.out,如果程序汇编连接通过,在状态栏窗口会有提示,如图0.7所示。
图0.7 CCS成功汇编连接图
2、如果汇编连接失败,返回工程中继续修改程序,直到汇编连接通过。
3、点击工程工具条按扭“Rebuild All”,与上述效果一样。也可以在DOS环境下,依次运行asm500.exe,和lnk500.exe,完成汇编和连接,生成目标文件,与上述效果一样。
3. 调试工程
在目标文件*.out生成之后,就可以在CCS集成环境中调试程序了。首先,必须让系统复位,点击“Gel/EVM5402/EVM5402Init”。再点击“File/Load Program…”,选择所要调试的程序*.out, 然后单击打开。如图0.8所示。
图图0.8 CCS程序LOAD图
调试中一些基本使用工具介绍如下:
(1) 断点调试
设置断点是调试程序的必要手段。双击程序代码段中的某一行,或单击工具栏断点开关按钮,或按F9。 此行在CCS仿真界面中将变成粉红色, (可以用“选项?COLOR”来改变颜色)。
(2) 探测点Probe Point 的调试
探测点调试可以让用户查看程序执行到某一位置时,各寄存器窗口值、文件I/O等。在没有设置探测点时,程序执行到断点时,将停止在断点处,各寄存器更新值是程序执行到断点时当前寄存器的值,对其它各窗口也一样。一旦设置了探测点,并把探测点与文件I/O、CPU寄存器或者Profile点连接起来后,实际程序是运行到断点处,但各窗口的更新值并不是断点处,而是在探测点处。由于CCS增加了文件I/O功能,利用探测点调试,可以在某一探测点位置看到外部文件数据流与DSP算法程序代码交换的情况。
探测点Probe Point的设置与删除方法:
1、 按调试工具条按钮“Toggle Probe Point”将光标当前位置设置成探测点。探测点设置成功后,当前位置会出现蓝色的线条。如果光标仍停留在探测点位置,再次点击工具条按钮“Toggle Probe Point”,设置的探测点将删除。
2、 点击菜单“Debug/Probe Points”,将会弹出设置窗口,可以设置、删除、连接探测点。
(3) 剖析点Profile Point 的调试
CCS所拥有的Profile Point 点的调试功能,可以让用户在调试程序时,统计某一块程序执行所要的CPU时钟周期数,程序分支数,子程序被调用数,中断发生次数等统计信息。Profile Point和Profile Clock 作为统计代码执行的两种机制,常常一起配合使用。
Profile Point的设置和删除方法:
1、 调试工具条按钮“Toggle Profile Point”将光标当前位置设置成剖析点。剖析点设置成功后,当前位置会出现绿色的线条。如果光标仍停留在剖析点位置,再次点击工具条按钮“Toggle Profile Point”,设置的剖析点将删除。
2、 点击菜单“Profiler/Profile Points…”,将会弹出设置窗口,可以设置、删除剖析点。
(4) 其他调试方法
其他的调试方法有单步、全速等。单步可以使用快捷键F8,全速的快捷键为F5。也可以在工具条中选择。分别如下:
à 单步执行;
à 为不进入子程序中;
à 为从子程序中执行出;
à 为执行到子程序开始处;
à 为全速运行程序;
à 为停止运行;
à 为动画运行程序。
4. 显示程序中的数据
(1) 查看寄存器
查看寄存器是最常用的程序运行中的信息,CCS中选择View菜单中的CPU Registers就可以了。
(2) 查看数据
查看数据也是程序调试中常用的手段之一,CCS中可以以多种形式查看数据单元中的值,可以满足各种情况的需要。查看数据单元,选择View菜单中的Memory弹出设置窗口。
(3)查看反汇编程序
CCS载入程序时自动打开反汇编窗口,显示出反汇编出的程序。反汇编的程序和工程中实际的程序有一些小的变化,例如,常数已经不再以符号而是以数据显示,注释已经不再显示。为了方便调试,一般情况下仍然需要打开源程序进行查看。反汇编窗口显示的格式可以在CCS的Option中的Dis-assembly中进行设置。
(4)查看多个窗口
CCS1.2中对同时打开的多个窗口的处理不是很好,当前窗口会覆盖整个以前的窗口,并且看不到最小化按钮。只有最小化所有窗口后才能看到所有窗口的最小化按钮,所以实际中没有什么用处。CCS对多个窗口操作的另外一个问题是如果打开同一个窗口,CCS不会关闭前面的一样的窗口,而是又打开一个同样的窗口,因为前面已经打开的窗口被覆盖,所以用户看不到,因为看不到最小化按纽,结果会导致用户同时打开了很多个窗口。这对调试程序没有什么影响,可能在CCS的升级版本中会有所改变。
CCS对窗口显示的选择可以在该窗口右击弹出选择项,只有三个选择,分别是Allow Docking、Close、Float in Main Window。
(5) 在文件中查找内容
在CCS下进行编程,有时需要在源文件中查找一些定义的符号,CCS对这种查找提供了多种方法。在Edit菜单下进行所需要的选择,在快捷工具栏也有相应的图标。如图0.9所示。
图0.9 查找的快捷工具栏图
图中,左边输入所查找的内容,是查找下一个,是查找上一个,是依次查找,是在整个文件中查找,并且将所有的查找到的显示出来,是查找括号,是进入括号,将括号中内容高亮,是查找左括号,是查找右括号。
文章评论(0条评论)
登录后参与讨论