1、1 CCS1 CCS集成环境集成环境IDEIDE综述综述(Integrated Development Environment)(Integrated Development Environment)n不仅仅是代码生成工具不仅仅是代码生成工具具备基本调试功能,还具备实时分析的能力具备基本调试功能,还具备实时分析的能力支持整个软件开发过程:支持整个软件开发过程:设计设计代码生成代码生成(项目建立,源程序编写,项目建立,源程序编写,配置文件配置文件)调试调试(语法检查,语法检查,探测点探测点,日志,日志loglog功能功能)实时分析实时分析(实时调试,实时状态显示,任务切实时调试,实时状态显示,任
2、务切换跟踪换跟踪)实时(Real Time)是DSP的灵魂11.1 CCS1.1 CCS集成环境集成环境IDEIDE综述综述TITI公司的集成开发环境公司的集成开发环境CCSCCS(Code Composer Code Composer StudioStudio)提供了)提供了环境配置、源文件编辑、程序调试、环境配置、源文件编辑、程序调试、跟踪和分析跟踪和分析等工具,可以帮助用户在一个软件环境下等工具,可以帮助用户在一个软件环境下完成编辑、编译链接、调试和数据分析等工作。完成编辑、编译链接、调试和数据分析等工作。21.1 CCS1.1 CCS集成环境集成环境IDEIDE的组成的组成31.1 C
3、CS1.1 CCS集成环境集成环境IDEIDE的组成的组成v包括包括主机主机和和目标系统目标系统两部分两部分v主机方主机方:最底层是最底层是JTAGJTAG,上面是调试器,再上面是上面是调试器,再上面是CCSCCS的各种插件,包括的各种插件,包括DSP/BIOSDSP/BIOS插件插件(实时调试实时调试),RTDX(RTDX(实时数据交换实时数据交换)v目标系统目标系统:最底层是硬件和最底层是硬件和JTAGJTAG,向上是向上是DSP/BIOSDSP/BIOS实时操作系统实时操作系统(这是可选的也可以没有操作系统,完这是可选的也可以没有操作系统,完全自己管理全自己管理),再向上是应用程序,再向
4、上是应用程序.4CCS软件软件仿真器仿真器目标系统目标系统51.2 CCS代码生成工具流图6Q:是否可以软件仿真?CCS一般工作在两种模式下:v软件仿真器 v硬件开发板相结合的在线编程:可以脱离DSP芯片,在PC机上模拟DSP的指令集与工作机制,主要用于前期算法实现和调试;实时运行在DSP芯片上,可以在线编制和调试程序。71.31.3 CCS软件vTITI公司耗资近公司耗资近2 2亿美元亿美元 CCS2.0 For C5000系列 CCS2.0 For C6000系列 CCS2.0 For DSK(Developer Start Kit,初学者开发套件)CCS3.3 For TI DSP系列8
5、CCS2.0CCS2.0界面界面92 CCS2 CCS集成开发环境集成开发环境v2.1 CCS2.1 CCS系统安装与设置系统安装与设置v2.2 CCS2.2 CCS菜单和工具栏菜单和工具栏v2.3 CCS2.3 CCS中的编译器、汇编器和链接器选项设置中的编译器、汇编器和链接器选项设置v2.4 2.4 用用CCSCCS开发简单的程序开发简单的程序v2.5 2.5 在在CCSCCS中读取数据和数据的图形显示中读取数据和数据的图形显示v2.6 2.6 代码执行时间分析代码执行时间分析(Profiler(Profiler的使用的使用)102.1 CCS2.1 CCS系统安装与设置系统安装与设置v2
6、.1.1 CCS系统安装系统安装v2.1.2 为为CCS安装设备驱动程序安装设备驱动程序 返回首页112.1.1 CCS2.1.1 CCS系统安装系统安装vCCS对对PC机的最低要求为机的最低要求为Windows 95、32M RAM、100M剩余硬盘空间、奔腾剩余硬盘空间、奔腾90以上处理以上处理器、器、SVGA显示器显示器(分辨率分辨率800600以上以上)。v进行进行CCS系统安装时,先将系统安装时,先将CCS安装盘插入安装盘插入CD-R O M 驱 动 器 中,运 行 光 盘 根 目 录 下 的驱 动 器 中,运 行 光 盘 根 目 录 下 的setup.exe,按照安装向导的提示将按
7、照安装向导的提示将CCS安装到安装到硬盘中。安装完成后,安装程序将自动在计算机硬盘中。安装完成后,安装程序将自动在计算机桌面上创建如图桌面上创建如图2-1所示的所示的“CCS 2(C5000)”,“Setup CCS 2(C5000)”等快捷图标。等快捷图标。12图2-1 “CCS 2(C5000)”和“Setup CCS 2(C5000)”快捷图标132.1.2 2.1.2 为为CCSCCS安装设备驱动程序安装设备驱动程序v在安装在安装CCSCCS之后、运行之后、运行CCSCCS软件之前,首先需要软件之前,首先需要运行运行CCSCCS设置程序,根据用户所拥有的软、硬件设置程序,根据用户所拥有
8、的软、硬件资源对资源对CCSCCS进行适当的配置。进行适当的配置。v启动启动Setup CCS 2(Setup CCS 2(C5000)C5000)应用程序,单击应用程序,单击CloseClose按钮关闭按钮关闭Import ConfigurationImport Configuration对话框,对话框,将显示将显示Code Composer Studio SetupCode Composer Studio Setup窗口,如窗口,如图图2-22-2所示。所示。14 Code Composer studio Setup窗口152.2 CCS2.2 CCS菜单和工具栏菜单和工具栏v2.2.1
9、菜单菜单v2.2.2 工具栏工具栏 16 CCSCCS运行主窗口运行主窗口 172.2.1 2.2.1 菜单菜单1File菜单菜单182Edit菜单菜单193View菜单菜单204Project菜单菜单215Debug菜单菜单226.Profiler菜单菜单23 时钟设置247Option菜单菜单25 Memory Map对话框 268Tools菜单菜单272.2.2 2.2.2 工具栏工具栏1Standard ToolbarvStandard工具栏包括以下常用工具工具栏包括以下常用工具 StandardStandard工具栏工具栏282GEL ToolbarvGEL工具栏提供了执行工具栏提供
10、了执行GEL函数的一种快捷方法,函数的一种快捷方法,如图如图2-8所示。在工具栏的左侧文本输入框中键所示。在工具栏的左侧文本输入框中键入入GEL函数名,再单击右侧的执行按钮即可执行函数名,再单击右侧的执行按钮即可执行相应的函数。如果不使用相应的函数。如果不使用GEL工具栏,也可以使工具栏,也可以使用用Edit菜单下的菜单下的Edit Command Line命令执命令执行行GEL函数。函数。图2-8 GEL工具栏 令用户可以编写自己的控制面板/菜单,从而方便直观地修改变量,配置参数等 293Project ToolbarvProject工具栏提供了与工程和断点设置有关的工具栏提供了与工程和断点
11、设置有关的命令,命令,Project工具栏提供了以下命令如图工具栏提供了以下命令如图2-9所示。所示。图2-9 Project工具栏 304Debug ToolbarvDebug工具栏提供以下常用的调试命令如图工具栏提供以下常用的调试命令如图2-10所示。所示。图2-10 Debug工具栏 315Edit ToolbarvEdit工具栏提供了一些常用的编辑命令及书签命工具栏提供了一些常用的编辑命令及书签命令如图令如图2-11所示。所示。图2-11 Edit工具栏326.Plug-in ToolbarsvPlug-in Toolbars包括包括Watch Window和和DSP/BIOS两个窗口
12、,其中两个窗口,其中Watch Window如图如图2-12所示。所示。图2-12 Watch Window 工具栏返回本节332.3 CCS2.3 CCS中的编译器、汇编器和链中的编译器、汇编器和链接器选项设置接器选项设置v2.3.1 编译器、汇编器选项编译器、汇编器选项v2.3.2 链接器选项链接器选项 返回首页342.3.1 2.3.1 编译器、汇编器选项编译器、汇编器选项v编译器编译器(Compiler)(Compiler)包括分析器、优化器和代码产包括分析器、优化器和代码产生器,它接收生器,它接收C/C+C/C+源代码并产生源代码并产生TMS320C54xTMS320C54x汇编汇编
13、语言源代码。语言源代码。v汇编器汇编器(Assembler)(Assembler)的作用就是将的作用就是将汇编汇编语言源程序语言源程序转换成转换成机器机器语言目标文件,这些目标文件都是公语言目标文件,这些目标文件都是公共目标文件格式共目标文件格式(COFF)(COFF)。如图。如图2-132-13、表表2-92-9所示。所示。35 图2-13 生成选项窗口编译器标签36表2-9 编译器、汇编器常用选项(在Compiler中)37382.3.2 2.3.2 链接器选项链接器选项v在汇编程序生成代码中,链接器的作用如下在汇编程序生成代码中,链接器的作用如下:(1)根据链接命令文件根据链接命令文件(
14、.cmd文件文件)将一个或多个将一个或多个COFF目文件链接起来,生成存储器映象文件目文件链接起来,生成存储器映象文件(.map)和可和可执行的输出文件执行的输出文件(.out文件文件)。(2)将段定位于实际系统的存储器中,给段、符号指将段定位于实际系统的存储器中,给段、符号指定实际地址。定实际地址。(3)解决输入文件之间未定义的外部符号引用解决输入文件之间未定义的外部符号引用(如图如图2-14、表、表2-10所示所示)。39 图2-14 生成选项窗口链接器标签 40表2-10 链接器常用选项(在Linker中)4142CCS2.0CCS2.0调试功能调试功能(1)(1)v断点设置断点设置:多
15、种多种stepstep方法方法:single single step(stepstep(step into);into);step over;step out;run to cursorstep over;step out;run to cursorv运行到断点处自动更新窗口运行到断点处自动更新窗口v观察和编辑变量、寄存器和存储器观察和编辑变量、寄存器和存储器43CCS2.0CCS2.0调试功能调试功能(1)(1)v调用堆栈调用堆栈(call stack)(call stack),显示函数调用层次关系,显示函数调用层次关系.v利用探点利用探点(probe point)(probe point)
16、流入流出流入流出(stream in and(stream in and out)out)存储器数据存储器数据44CCS2.0CCS2.0调试功能调试功能(2)(2)v图形化显示数据图形化显示数据 一维数据,二维图象,眼图等v代码剖析代码剖析(Profile)(Profile)计算代码运行时间45CCS2.0CCS2.0调试功能调试功能(3)(3)462.4 2.4 用用CCSCCS开发简单的程序开发简单的程序1创建新的工程文件创建新的工程文件v工程文件中包含着设计中所有的源代码文件、链工程文件中包含着设计中所有的源代码文件、链接器命令文件、库函数、头文件等。接器命令文件、库函数、头文件等。(
17、1)在在CCS的安装目录的的安装目录的myprojects子目录下创建子目录下创建一个一个volume1目录。目录。(2)启动启动CCS,在,在Project菜单中选择菜单中选择New项,在项,在Project中输入中输入volume1,CCS将创建一个名将创建一个名为为volume1.pjt的工程。的工程。472.将文件添加到工程中将文件添加到工程中(1)将文件添加到工程中将文件添加到工程中(2)察看工程的结构察看工程的结构(如图如图2-15所示所示)。(3)查看代码查看代码 48 图2-15 工程视窗493生成和运行程序生成和运行程序(1)选择菜单命令选择菜单命令ProjectRebuil
18、d All,对工程,对工程重新编译、汇编和链接,主窗口下方的信息窗口重新编译、汇编和链接,主窗口下方的信息窗口将显示将显示build进行汇编、编译和链接的相关信息。进行汇编、编译和链接的相关信息。(2)选择菜单命令选择菜单命令FileLoad Program,在当前在当前目录的目录的Debug目录下选择目录下选择volume1.out并打并打开,将开,将Build生成的程序加载到生成的程序加载到DSP中。中。(3)选择菜单命令选择菜单命令DebugRun或在或在Debug工具工具栏上单击栏上单击Run按钮,运行该程序。按钮,运行该程序。504改变改变Build选项并修改程序语法错误选项并修改程
19、序语法错误v选择菜单命令选择菜单命令ProjectBuild Options,弹出弹出Build Options窗口,选择窗口,选择Compiler标签,在标签,在类类(C a t e g o r y)列 表 中 选 择 预 处 理列 表 中 选 择 预 处 理(Preprocessor),如图,如图2-16所示。在所示。在Define Symbols域中键入域中键入FILEIO,定义符号定义符号FILEIO。此时,在命令输入和显示窗口看到此时,在命令输入和显示窗口看到-d“FILEIO”。51 图2-16 在Build Options 窗口定义FILEIO 525断点和观察窗口的应用断点和观
20、察窗口的应用(1)选择菜单命令选择菜单命令FileReload Program,重新重新加载程序加载程序(即加载即加载volum1.out)。(2)在工程视图中双击在工程视图中双击volume.c,打开源文件编辑打开源文件编辑窗口,将光标放在窗口,将光标放在dataIO()行上,并按行上,并按F9键或键或工具栏中的设置断点。工具栏中的设置断点。(3)选择菜单命令选择菜单命令ViewWatch Window,弹出弹出Watch窗口窗口(如下图如下图)。53 图图2-17 2-17 观察窗口观察结构体变量的值观察窗口观察结构体变量的值542.5 2.5 在在CCSCCS中读取数据和中读取数据和数据
21、的图形显示数据的图形显示v2.5.1 2.5.1 探点的设置及从探点的设置及从PCPC机文件中读取数据机文件中读取数据v2.5.2 2.5.2 静态图形显示静态图形显示v2.5.3 2.5.3 动态图形显示动态图形显示 552.5.1 2.5.1 探点的设置及从探点的设置及从PCPC机文机文件中读取数据件中读取数据(1)选择菜单命令选择菜单命令FileLoad Program,选择选择Volume1.out并打开。并打开。(2)在工程视图中双击在工程视图中双击Volume.c,在右边的编辑窗在右边的编辑窗口中将显示源代码。口中将显示源代码。(3)将光标放在主函数中的将光标放在主函数中的data
22、IO()那一行上。那一行上。(4)单击图标,该行旁边蓝色标志表示设置了一个探单击图标,该行旁边蓝色标志表示设置了一个探点。点。(5)在在File菜单中选择菜单中选择File I/O,打开打开File I/O对对话框。话框。56(6)点击点击File Input标签,然后单击标签,然后单击Add File按钮。按钮。(7)选择选择sine.dat文件,单击文件,单击Open按钮,出现如按钮,出现如图图2-18所示的所示的sine.dat文件控制窗口,可以在文件控制窗口,可以在运行程序时使用这个窗口来控制数据文件的开始、运行程序时使用这个窗口来控制数据文件的开始、停止、前进、后退等操作。停止、前进
23、、后退等操作。(8)在在File I/O对话框中,在对话框中,在Address域中填入域中填入inp_buffer,在,在Length域中填入域中填入100,同时,同时选中选中Wrap Around复选框,如图复选框,如图2-19所示。所示。57(9)在在File I/O对话框中单击对话框中单击Add Probe Point按钮,按钮,弹出弹出Break/Probe Points对话框,如图对话框,如图2-20所示。所示。(10)在在Connect域,单击下拉箭头,并从列表中域,单击下拉箭头,并从列表中选择选择sine.dat。(11)单击单击Replace按钮,按钮,Probe Point列
24、表指示列表指示Probe Point已与已与sine.dat文件相关联。文件相关联。(12)单击单击“确定确定”按钮。注意,按钮。注意,File I/O对话框对话框Probel栏已变为栏已变为Connected,表示文件已连至表示文件已连至一个探点。一个探点。(13)单击单击“确定确定”按钮,关闭按钮,关闭File I/O对话框。对话框。58 图2-20 Break/Probe Points对话框592.5.2 2.5.2 静态静态图形显示图形显示(1)选择菜单命令选择菜单命令ViewGraphTime/Frequency,弹出弹出Graph Property(图形属性图形属性)对话框。对话框
25、。(2)在在Graph Property对话框中更改图形的标题、对话框中更改图形的标题、起始地址、缓冲区大小、显示数据大小、起始地址、缓冲区大小、显示数据大小、DSP数数据类型、自动标尺属性及最大据类型、自动标尺属性及最大Y值,如图值,如图2-21所所示。示。(3)单击单击OK按钮,将出现按钮,将出现Input图形窗口。图形窗口。60(4)在图形窗口中右击,从弹出菜单中选择在图形窗口中右击,从弹出菜单中选择Clear Display,清除已有显示波形。清除已有显示波形。(5)再次执行菜单命令再次执行菜单命令ViewGraphTime/Frequency。(6)这次将这次将Graph Title
26、改为改为output,开始地址栏开始地址栏改为改为out_buffer。其他设置不变。其他设置不变。(7)单击单击OK按钮,出现一个显示按钮,出现一个显示out_buffer波形波形的图形窗口,同样单击右键,从弹出菜单中选的图形窗口,同样单击右键,从弹出菜单中选Clear Display,清除已有显示波形。清除已有显示波形。61 改变这些选项 图2-21 更改后的Graph Property62632.5.3 2.5.3 动态图形显示动态图形显示(1)在在Volume.c窗口,将光标放在调用窗口,将光标放在调用dataIO行行上。上。(2)在在Project工具栏上单击图标设置断点,此时该工具
27、栏上单击图标设置断点,此时该行有两种颜色显示,表明该行上同时设有一个断行有两种颜色显示,表明该行上同时设有一个断点和一个探点。点和一个探点。(3)调整窗口以便能同时看到两个图形窗口。调整窗口以便能同时看到两个图形窗口。(4)在在Debug工具栏中单击工具栏中单击Animate按钮或按按钮或按F12键。键。64652.6 2.6 代码执行时间分析代码执行时间分析(Profiler(Profiler的使用的使用)v2.2.1 函数执行时间分析函数执行时间分析v2.2.2 某段程序执行时间分析某段程序执行时间分析 662.2.1 2.2.1 函数执行时间分析函数执行时间分析(1)选择菜单命令选择菜单
28、命令FileReload Program,重重新加载程序新加载程序Volume1.out。(2)选择菜单命令选择菜单命令ProfilerStart New S e s s i o n,在 打在 打 开 的 对 话 框 中 输 入开 的 对 话 框 中 输 入Volume1_profile作为作为代码分析统计观察窗口代码分析统计观察窗口的 名 称,然 后 单 击的 名 称,然 后 单 击 O K 按 钮,则 打 开 分 析按 钮,则 打 开 分 析(Profiler)窗口,单击窗口,单击Functions标签,如图标签,如图2-22所示。所示。(3)在工程视图中双击在工程视图中双击volume.
29、c以显示文件内容。以显示文件内容。(4)程序运行约程序运行约1分钟后停止,看到如图分钟后停止,看到如图2-23所示所示的分析结果。的分析结果。67 图2-22 分析窗口的Functions标签68 图2-23 函数执行时间分析结果 692.2.2 2.2.2 某段程序执行时间分析某段程序执行时间分析(1)在分析窗口中单击在分析窗口中单击Ranges标签,在工程视图中标签,在工程视图中双击双击volume.c以显示源程序。以显示源程序。(2)将将 l o a d(p r o c e s s i n g L o a d)行 到行 到return(TRUE)行高亮显示并拖曳至分析窗口。行高亮显示并拖
30、曳至分析窗口。(3)选择菜单命令选择菜单命令ViewDisassembly以打开以打开disassembly窗口,在窗口,在disassembly窗口中窗口中右击,选择右击,选择Start Address,然后输入然后输入c_int00作为起始地址。作为起始地址。70(4)在在disassembly窗口将窗口将c_int00下面的下面的4行拖行拖曳到分析窗口,如图曳到分析窗口,如图2-24所示。所示。(5)选择菜单命令选择菜单命令DebugRestart.,然后选择然后选择DebugRun。程序运行约程序运行约1分钟后停止,看到分钟后停止,看到如图如图2-25所示的分析结果。所示的分析结果。71 图图2-24 2-24 分析窗口的分析窗口的RangesRanges标签标签 图图2-25 2-25 某段程序执行时间分析结果某段程序执行时间分析结果 72