第6章 CCS集成开发环境 6.1 CCS系统安装与设置 6.2 CCS菜单和工具栏 6.3 CCS中的编译器、汇编器和链接器选项设置 6.6 代码执行时间分析(Profiler的使用)
6.1 CCS系统安装与设置 6.1.1 CCS系统安装 6.1.2 为CCS安装设备驱动程序 返回首页
6.1.1 CCS系统安装 CCS对PC机的最低要求为Windows 95、32M RAM、100M剩余硬盘空间、奔腾90以上处理器、SVGA显示器(分辨率800×600以上)。 进行CCS系统安装时,先将CCS安装盘插入CD-ROM驱动器中,运行光盘根目录下的setup.exe,按照安装向导的提示将CCS安装到硬盘中。安装完成后,安装程序将自动在计算机桌面上创建如图6-1所示的“CCS 2(’C5000)”,“Setup CCS 2 (‘C5000)”等快捷图标。
图6-1 “CCS 2(‘C5000)”和“Setup CCS 2 (‘C5000)”快捷图标 返回本节
6.1.2 为CCS安装设备驱动程序 在安装CCS之后、运行CCS软件之前,首先需要运行CCS设置程序,根据用户所拥有的软、硬件资源对CCS进行适当的配置。 启动Setup CCS 2(’C5000)应用程序,单击Close按钮关闭Import Configuration对话框,将显示Code Composer Studio Setup窗口,如图6-2所示。
图6-2 Code Compuser studio Setup窗口 返回本节
6.2 CCS菜单和工具栏 6.2.1 菜单 6.2.2 工具栏 返回首页
图6-3 并口调试管理器
图6-4 CCS运行主窗口
6.2.1 菜单 表6-1 File菜单 1.File菜单
2.Edit菜单 表6-2 Edit菜单
3.View菜单 表6-3 View菜单
4.Project菜单 表6-4 Project菜单
5.Debug菜单 表6-5 Debug菜单
6.Profiler菜单 表6-6 Profiler菜单
图6-5 时钟设置
7.Option菜单 表6-7 Option菜单
图6-6 Memory Map对话框
8.Tools菜单 表6-8 Tools菜单 返回本节
6.2.2 工具栏 1.Standard Toolbar Standard工具栏包括以下常用工具如图6-7所示: 6.2.2 工具栏 1.Standard Toolbar Standard工具栏包括以下常用工具如图6-7所示: 图6-7 Standard工具栏
2.GEL Toolbar GEL工具栏提供了执行GEL函数的一种快捷方法,如图6-8所示。在工具栏的左侧文本输入框中键入GEL函数名,再单击右侧的执行按钮即可执行相应的函数。如果不使用GEL工具栏,也可以使用Edit菜单下的Edit Command Line命令执行GEL函数。 图6-8 GEL工具栏
Project工具栏提供了与工程和断点设置有关的命令,Project工具栏提供了以下命令如图6-9所示。 3.Project Toolbar Project工具栏提供了与工程和断点设置有关的命令,Project工具栏提供了以下命令如图6-9所示。 图6-9 Project工具栏
Debug工具栏提供以下常用的调试命令如图6-10所示。 4.Debug Toolbar Debug工具栏提供以下常用的调试命令如图6-10所示。 图6-10 Debug工具栏
Edit工具栏提供了一些常用的编辑命令及书签命令如图6-11所示。 5.Edit Toolbar Edit工具栏提供了一些常用的编辑命令及书签命令如图6-11所示。 图6-11 Edit工具栏
Plug-in Toolbars包括Watch Window和DSP/BIOS两个窗口,其中Watch Window如图6-12所示。 返回本节
6.3 CCS中的编译器、汇编器和链接器选项设置 6.3.1 编译器、汇编器选项 6.3.2 链接器选项 返回首页
6.3.1 编译器、汇编器选项 编译器(Compiler)包括分析器、优化器和代码产生器,它接收C/C++源代码并产生TMS320C54x汇编语言源代码。 汇编器(Assembler)的作用就是将汇编语言源程序转换成机器语言目标文件,这些目标文件都是公共目标文件格式(COFF)。如图6-13、表6-9所示。
图6-13 生成选项窗口——编译器标签
表6-9 编译器、汇编器常用选项(在Compiler中)
返回本节
6.3.2 链接器选项 在汇编程序生成代码中,链接器的作用如下: 6.3.2 链接器选项 在汇编程序生成代码中,链接器的作用如下: (1)根据链接命令文件(.cmd文件)将一个或多个COFF目文件链接起来,生成存储器映象文件(.map)和可执行的输出文件(.out文件)。 (2)将段定位于实际系统的存储器中,给段、符号指定实际地址。 (3)解决输入文件之间未定义的外部符号引用(如图6-14、表6-10所示)。
图6-14 生成选项窗口——链接器标签
表6-10 链接器常用选项(在Linker中)
返回本节
6.4 用CCS开发简单的程序 1.创建新的工程文件 工程文件中包含着设计中所有的源代码文件、链接器命令文件、库函数、头文件等。 (1)在CCS的安装目录的myprojects子目录下创建一个volume1目录。 (2)启动CCS,在Project菜单中选择New项,在Project中输入volume1,CCS将创建一个名为volume1.pjt的工程。 返回首页
2.将文件添加到工程中 (1)将文件添加到工程中 (2)察看工程的结构(如图6-15所示)。 (3)查看代码
图6-15 工程视窗
3.生成和运行程序 (1)选择菜单命令Project→Rebuild All,对工程重新编译、汇编和链接,主窗口下方的信息窗口将显示build进行汇编、编译和链接的相关信息。 (2)选择菜单命令File→Load Program,在当前目录的Debug目录下选择volume1.out并打开,将Build生成的程序加载到DSP中。 (3)选择菜单命令Debug→Run或在Debug工具栏上单击Run按钮,运行该程序。
4.改变Build选项并修改程序语法错误 选择菜单命令Project→Build Options,弹出Build Options窗口,选择Compiler标签,在类(Category)列表中选择预处理(Preprocessor),如图6-16所示。在Define Symbols域中键入FILEIO,定义符号FILEIO。此时,在命令输入和显示窗口看到-d“FILEIO”。
5.断点和观察窗口的应用 (1)选择菜单命令File→Reload Program,重新加载程序(即加载volum1.out)。 (2)在工程视图中双击volume.c,打开源文件编辑窗口,将光标放在dataIO()行上,并按F9键或工具栏中的设置断点。 (3)选择菜单命令View→Watch Window,弹出Watch窗口(如下图)。
图6-16 在Build Options 窗口定义FILEIO
图6-17 观察窗口观察结构体变量的值 返回本节
6.5 在CCS中读取数据和数据的图形显示 6.5.1 探点的设置及从PC机文件中读取数据 6.5.2 静态图形显示 6.5.2 静态图形显示 6.5.3 动态图形显示 返回首页
6.5.1 探点的设置及从PC机文件中读取数据 (1)选择菜单命令File→Load Program,选择Volume1.out并打开。 (2)在工程视图中双击Volume.c,在右边的编辑窗口中将显示源代码。 (3)将光标放在主函数中的dataIO()那一行上。 (4)单击图标,该行旁边蓝色标志表示设置了一个探点。 (5)在File菜单中选择File I/O,打开File I/O对话框。
(6)点击File Input标签,然后单击Add File按钮。 (7)选择sine.dat文件,单击Open按钮,出现如图6-18所示的sine.dat文件控制窗口,可以在运行程序时使用这个窗口来控制数据文件的开始、停止、前进、后退等操作。 (8)在File I/O对话框中,在Address域中填入inp_buffer,在Length域中填入100,同时选中Wrap Around复选框,如图6-19所示。
(9)在File I/O对话框中单击Add Probe Point按钮,弹出Break/Probe Points对话框,如图6-20所示。 (10)在Connect域,单击下拉箭头,并从列表中选择sine.dat。 (11)单击Replace按钮,Probe Point列表指示Probe Point已与sine.dat文件相关联。 (12)单击“确定”按钮。注意,File I/O对话框Probel栏已变为Connected,表示文件已连至一个探点。 (13)单击“确定”按钮,关闭File I/O对话框。
图6-20 Break/Probe Points对话框 返回本节
6.5.2 静态图形显示 (1)选择菜单命令View→Graph→Time/Frequency,弹出Graph Property(图形属性)对话框。 (2)在Graph Property对话框中更改图形的标题、起始地址、缓冲区大小、显示数据大小、DSP数据类型、自动标尺属性及最大Y值,如图6-21所示。 (3)单击OK按钮,将出现Input图形窗口。
(4)在图形窗口中右击,从弹出菜单中选择Clear Display,清除已有显示波形。 (5)再次执行菜单命令View→Graph→Time /Frequency。 (6)这次将Graph Title改为output,开始地址栏改为out_buffer。其他设置不变。 (7)单击OK按钮,出现一个显示out_buffer波形的图形窗口,同样单击右键,从弹出菜单中选Clear Display,清除已有显示波形。
图6-21 更改后的Graph Property 返回本节
6.5.3 动态图形显示 (1)在Volume.c窗口,将光标放在调用dataIO行上。 6.5.3 动态图形显示 (1)在Volume.c窗口,将光标放在调用dataIO行上。 (2)在Project工具栏上单击图标设置断点,此时该行有两种颜色显示,表明该行上同时设有一个断点和一个探点。 (3)调整窗口以便能同时看到两个图形窗口。 (4)在Debug工具栏中单击Animate按钮或按F12键。 返回本节
6.6 代码执行时间分析(Profiler的使用) 6.6.1 函数执行时间分析 6.6.2 某段程序执行时间分析 返回首页
6.6.1 函数执行时间分析 (1)选择菜单命令File→Reload Program,重新加载程序Volume1.out 。 6.6.1 函数执行时间分析 (1)选择菜单命令File→Reload Program,重新加载程序Volume1.out 。 (2)选择菜单命令Profiler→Start New Session,在打开的对话框中输入Volume1_profile作为代码分析统计观察窗口的名称,然后单击OK按钮,则打开分析(Profiler)窗口,单击Functions标签,如图6-22所示。 (3)在工程视图中双击volume.c以显示文件内容。 (4)程序运行约1分钟后停止,看到如图6-23所示的分析结果。
图6-22 分析窗口的Functions标签
图6-23 函数执行时间分析结果 返回本节
6.6.2 某段程序执行时间分析 (1)在分析窗口中单击Ranges标签,在工程视图中双击volume.c以显示源程序。 6.6.2 某段程序执行时间分析 (1)在分析窗口中单击Ranges标签,在工程视图中双击volume.c以显示源程序。 (2)将load(processingLoad)行到return(TRUE)行高亮显示并拖曳至分析窗口。 (3)选择菜单命令View→Disassembly以打开disassembly窗口,在disassembly窗口中右击,选择Start Address,然后输入c_int00作为起始地址。
(4)在disassembly窗口将c_int00下面的4行拖曳到分析窗口,如图6-24所示。 (5)选择菜单命令Debug→Restart.,然后选择Debug→Run。程序运行约1分钟后停止,看到如图6-25所示的分析结果。
图6-24 分析窗口的Ranges标签 图6-25 某段程序执行时间分析结果 返回本节