1、第三章第三章 DSP的集成开发环境的集成开发环境CCS 第三章第三章 DSP的集成开发环境的集成开发环境CCS3.1 CCS简介简介 CCS工作在Windows操作系统下,类似于VC+的集成开发环境,采用图形接口界面,有编辑工具和工程管理工具,集编辑、编译、链接、软件模拟、硬件仿真调试以及实时跟踪等功能于一体,支持汇编语言与C语言及二者的混合编程。CCS集成开发环境是目前使用最为广泛的DSP开发软件之一。CCS有两种工作模式,第一种是软件模拟器模式,即脱离DSP处理器,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试;第二种是硬件在线编程模式,即实时运行在DSP处理器上,与硬
2、件开发板相结合在线编程和调试应用程序。第三章第三章 DSP的集成开发环境的集成开发环境CCS 在Windows操作系统下,CCS采用图形接口界面,提供环境配置、源文件编辑、程序调试、跟踪和分析等工具。另外,CCS还提供了基本的代码生成工具,它们具有一系列的调试、分析能力。CCS支持如图3.1所示的开发周期的所有阶段。3.1.1 CCS的组成的组成第三章第三章 DSP的集成开发环境的集成开发环境CCS 目前,CCS常用的版本有CCS 2.0,CCS 2.2,CCS 3.1和CCS 3.3,又有CCS 2000(针对C 2xx),CCS 5000(针对C 54xx)和CCS 6000(针对C 6x
3、)三个不同的型号。其中,CCS 2.2是一个分立版本,也就是每一个系列的DSP都有一个CCS 2.2的开发软件,分为CCS 2.2 for C 2000,CCS 2.2 for C 5000,CCS 2.2 for C 6000。而CCS 3.1和CCS 3.3是一个集成版本,支持全系列的DSP开发。本书介绍CCS 2.2。第三章第三章 DSP的集成开发环境的集成开发环境CCS (2)CCS集成开发环境(包括编辑工具、工程管理工具和调试工具等)。(3)DSP/BIOS实时内核插件及其应用程序接口API。(4)实时数据交换的RTDX插件和相应的程序接口API。(5)由TI公司以外的第三方提供的应
4、用模块插件。CCS的构成及其在主机和目标系统中的接口如图3.2所示:在一个开放式的插件(Plug-In)结构下,CCS内 部集成了以下软件工具:(1)代码生成工具(包括DSP的C/C+编译器、汇编器、链接器和建库工具等)。第三章第三章 DSP的集成开发环境的集成开发环境CCS第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.1.2 CCS的主要功能的主要功能 CCS是一种可视化集成开发工具,它集代码的编辑、编译、链接和调试等诸多功能于一体,具有强大的应用开发功能:(1)具有集成可视化代码编辑界面,可通过其界面直接编写汇编语言和C程序、.h头文件和.cmd命令文件等。(2)含有集成代码
5、生成工具,包括DSP的汇编器、优化C编译器、链接器等,能够将代码的编辑、编译、链接和调试等诸多功能集成到一个软件环境中。第三章第三章 DSP的集成开发环境的集成开发环境CCS (3)具有各种调试工具,包括加载执行文件(.out文件)、运行、单步操作、设置断点、查看寄存器、存储器、反汇编、变量窗口,评估程序的执行时间等功能,支持C源代码级调试,并支持多DSP的调试。(4)断点和探针工具,断点工具能在程序调试过程中完成硬件断点、软件断点和条件断点的设置;探针工具可将PC机数据文件中的数据传送到DSP,或者将DSP中的数据传送到PC机数据文件中,以便实现各种算法仿真和数据监视。第三章第三章 DSP的
6、集成开发环境的集成开发环境CCS (5)图形显示工具,可以将DSP程序生成的数据绘制成时域/频域图、眼图、星座图和图像等,以便于观察和分析,并能进行自动刷新。(6)提供通用扩展语言GEL(General Extension Language)工具,利用GEL扩展语言,用户可以编写自己的控制面板/菜单,设置GEL菜单选项,方便直观地修改变量,配置参数等。第三章第三章 DSP的集成开发环境的集成开发环境CCS (7)提供DSP/BIOS工具,增强了对代码的实时分析能力(如分析代码执行的效率)、调度程序执行的优先级、方便管理或使用系统资源(代码数据占用空间、中断服务程序的调用、定时器使用等),从而减
7、少开发人员对硬件资源熟悉程序的依赖性。(8)支持实时数据交换RTDX(Real-Time Data Exchange)技术,可以在不中断目标系统运行的情况下,实现DSP与其他应用程序的数据交换,为用户提供实时和连续的可视环境,看到系统工作的真实过程。第三章第三章 DSP的集成开发环境的集成开发环境CCS (9)开放式的插入架构技术,只需安装相应的驱动程序,就能够集成第三方的专业插件。(10)高性能编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现语法错误。(11)工程项目管理工具可对用户程序实行项目管理。在生成目标程序和程序库的过程中,建立不同程序的跟踪信息,通过跟踪信息对不同的
8、程序进行分类管理。可见,CCS具有实时、多任务、可视化的软件开发特点,已经成为TI DSP家族的程序设计、制作、调试、优化的利器。第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.2 CCS的安装及功能介绍的安装及功能介绍 DSP应用程序的开发通常需要软件开发环境和硬件平台。软件开发环境为CCS,硬件平台由仿真器和目标板组成。仿真器的作用是将目标板和计算机连接起来,使得开发人员可以在CCS环境下对目标板上的DSP进行编程、烧写和调试等工作,而目标板是指各个公司设计的具有DSP芯片的开发板或者是用户自己设计的具有DSP芯片的电路板。第三章第三章 DSP的集成开发环境的集成开发环境CCS
9、3.2.1 CCS的安装的安装 在本教材中,由于使用的是TMS320C54x芯片,CCS软件版本为CCS V2.2,因此下面介绍CCS V2.2(C5000)的安装。在使用CCS之前,必须完成下述工作:(1)CCS软件的安装;(2)USB仿真器驱动程序的安装;(3)运行Setup CCS,配置目标器件和仿真器型号。本小节主要介绍CCS的安装和驱动程序的安装,下一小节将介绍目标器件的配制方法。第三章第三章 DSP的集成开发环境的集成开发环境CCS 1、CCS软件的安装 CCS软件安装步骤如下。(1)点击安装文件包里的“Setup.exe”图标,会出现如图3.3所示开始界面。(2)单击“Next”
10、会出现提示框,单击“确定”按钮即可。如图3.4所示。(3)在随后出现的界面中,单击“Yes”并单击“Next”,在下一个界面中再次单击“Next”,出现图3.5所示界面。(4)在图3.5所示界面中单击“Select All”按钮之后单击“Next”,出现图3.6所示CCS安装目录选择界面。建议用户将CCS安装在默认目录“c:ti”中,选择之后单击“Next”按钮。第三章第三章 DSP的集成开发环境的集成开发环境CCS (5)继续单击“Next”,直到出现图3.7所示CCS安装界面。(6)等待一段时间后,单击“Finish”完成安装。(7)完成上一步之后,会出现如图3.8所示安装完成界面,这时会
11、提示是否重启计算机,单击“Yes”之后等待计算机重启。(8)重启之后,程序会自动在计算机桌面上创建如图3.9所示的“CCS 2(C5000)”和“Setup CCS 2(C5000)”两个快捷方式图标。第三章第三章 DSP的集成开发环境的集成开发环境CCS第三章第三章 DSP的集成开发环境的集成开发环境CCS第三章第三章 DSP的集成开发环境的集成开发环境CCS第三章第三章 DSP的集成开发环境的集成开发环境CCS第三章第三章 DSP的集成开发环境的集成开发环境CCS第三章第三章 DSP的集成开发环境的集成开发环境CCS 2、USB仿真器驱动程序的安装 首先打开安装文件包中的驱动程序目录下的U
12、SB_driver,运行其目录下的Setup.exe程序,按照其提示进行驱动程序的安装,如图3.10所示。上图的提示窗口是进行选择其驱动程序的安装目录对话框。如果选择“是”,则是安装在C:TI目录下,一般情况下不安装在这个目录下,而是要安装在CCS安装的目录下。选择“否”则是对安装目录进行设置,如3-11所示。第三章第三章 DSP的集成开发环境的集成开发环境CCS 选择“Browse”选择安装目录,建议安装在CCS软件安装的目录下。选择好安装目录后,依照提示信息完成其驱动程序的安装。第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.2.2 CCS的配置的配置 第一次使用CCS前,必须
13、对CCS进行配置,选择需要使用的DSP开发平台。若需要使用新的DSP开发平台时,可以重新对CCS进行相应的配置。配置时双击桌面上的“Setup CCS 2(C5000)”快捷方式图标,启动CCS配置程序。根据实际应用确定DSP开发平台后,在该软件的“Family”下拉列表框中选择相应的目标DSP系列,通过“Platform”下拉列表框选择开发平台,在“Available Factory Boards”的列表中选择需要的配置,双击或拖动到左侧“System Configuration”系统配置区域即可。如图3.12所示。第三章第三章 DSP的集成开发环境的集成开发环境CCS第三章第三章 DSP的
14、集成开发环境的集成开发环境CCS 在上图中将中间当前活动的对话窗口关闭,点击“Install a Device Driver”进行设置。出现如图3.13所示窗口。第三章第三章 DSP的集成开发环境的集成开发环境CCS 上图是对仿真器的驱动进行选择,其文件在安装驱动时所选择的目录下的Drivers子目录下。如图3.14所示,选择tixds54x.dvr,点击上图中的“打开”出现如下按钮。点击上图中的“OK”。此时,中间一栏(Available Board/Simulator Type)会出现相应的驱动图标,如图3.15所示。第三章第三章 DSP的集成开发环境的集成开发环境CCS 把该图标拖动到最
15、左边的“System Configuration”一栏,则会出现“Board Properties”对话框。如图3.16所示。第三章第三章 DSP的集成开发环境的集成开发环境CCS 如上图所示,在第一项下拉菜单中选择中间一条“Auto-generate board data file with extra configuration”。在第二项“Configuration File”中选择“Browse”,出现图3.17所示对话框。第三章第三章 DSP的集成开发环境的集成开发环境CCS 选择上图中的ICETEK文件,该文件也在CCS软件目录下 Drivers子目录下。点击“Next”出现如图3
16、.18所示的窗口。第三章第三章 DSP的集成开发环境的集成开发环境CCS 将上图中硬件仿真器的I/O接口值改为0 x000,再点击“Next”,继续进行设置则会出现“Processor Configuration”页面。如图3.19所示。第三章第三章 DSP的集成开发环境的集成开发环境CCS在“Processor Configuration”页面下,在“Available Processor”选项中选择TMS320C5400,然后点击“Add Single”,其右边出现CPU-1图标,点击“Next”,出现如图3.20所示对话框。第三章第三章 DSP的集成开发环境的集成开发环境CCS 点击上图
17、中椭圆所表示的位置,对CPU所对应的GEL文件进行选择,出现如图3.21所示窗口。第三章第三章 DSP的集成开发环境的集成开发环境CCS在本教材所涉及的实验中,均使用TMS320C5416,因此在上图中选择c5416.gel文件,这个文件也在安装驱动程序所选的目录下的gel子目录下。单击“打开”,点击“Finish”完成其设置。对其设置进行保存后,退出其配置程序。第三章第三章 DSP的集成开发环境的集成开发环境CCS 设置完成后,将仿真器与计算机通过USB电缆连接起来,此时计算机会提示找到新的硬件,如果提示要安装驱动,则按照计算机的安装向导安装USB驱动目录下USBDevice文件夹里的mdp
18、jtag.inf驱动文件。计算机如果找到驱动程序,则在设备管理器里会出现一个红色的仿真器图标,如图3.22所示。第三章第三章 DSP的集成开发环境的集成开发环境CCS3.2.3 CCS的启动及界面的启动及界面 CCS配置程序配置好DSP开发平台后,保存配置并退出,此时,软件将询问是否进入CCS开发环境,单击“是”即可运行CCS。CCS程序运行时,如果DSP开发平台没有和计算机正确连接或上电,将弹出如图3.23所示的对话框进行提示。第三章第三章 DSP的集成开发环境的集成开发环境CCS 单击“Retry”按钮,可以重新检测已配置的DSP开发平台;单击“Abort”按钮,可以终止运行CCS;单击“
19、Ignore”按钮,将忽略不能连接的开发平台进入CCS。当CCS配置程序配置两个以上开发平台时,CCS启动后显示如图3.24所示CCS并行调试管理器界面。第三章第三章 DSP的集成开发环境的集成开发环境CCS 在CCS并行调试管理器界面的Open菜单中选择需要运行的开发平台,如选择C5416 Device Simulator/CPU,则可进入面向该开发平台的CCS,如果开发平台连接正确,则会出现如图3.25所示的CCS V2.2界面。第三章第三章 DSP的集成开发环境的集成开发环境CCSTxdR第三章第三章 DSP的集成开发环境的集成开发环境CCS3.2.4 CCS菜单菜单 CCS应用界面最上
20、方的一行为CCS的菜单栏,它包含12个菜单项,每个菜单项的下拉菜单中又包含多个子菜单项,这些子菜单项分别用来执行相应的CCS功能命令。如图3.26所示。下面分别介绍各个菜单的功能和使用方法。1.File 菜单 File菜单提供了与文件操作相关的命令,CCS在使用过程中所要用到的文件类型有以下几种:第三章第三章 DSP的集成开发环境的集成开发环境CCS (1)*.pjt:CCS定义的工程文件,管理DSP程序相关的所有文件和编译链接选项。(2)*.c或*.cpp:C/C+语言编写的源程序文件。(3)*.h:C/C+语言程序的头文件,包括DSP/BIOS API模块的头文件。(4)*.asm:汇编语
21、言编写的源程序文件。(5)*.lib:库文件。(6)*.cmd:链接命令文件,对DSP的存储空间进行配置。(7)*.cdb:CCS的配置数据库文件,是使用DSP/BIOS API模块所必须的。第三章第三章 DSP的集成开发环境的集成开发环境CCS (8)*.obj:由源文件经编译汇编后生成的目标文件,是COFF文件。(9)*.out:完成编译、汇编、链接后所形成的可执行的COFF文件,可加载到目标DSP(实际目标板或仿真目标板Simulator)的程序空间,在CCS监控下进行调试和执行。(10)*.wks:工作区文件,可用来保存CCS用户界面的当前信息。第三章第三章 DSP的集成开发环境的集成
22、开发环境CCS File菜单的具体下拉菜单内容如图3.27所示,除Open、Save、Print等常见命令外,其主要的菜单项命令如下:第三章第三章 DSP的集成开发环境的集成开发环境CCS 2.Edit菜单 Edit菜单提供的是与编辑相关的命令,其具体下拉菜单内容如图3.28所示,除了Undo、Redo、Cut、Copy、Delete、Paste、Paste 和Find等常用的文件编辑命令外,还有如下编辑命令:第三章第三章 DSP的集成开发环境的集成开发环境CCS第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.View菜单 在View菜单中,可以选择是否显示各种工具栏和各种窗口,V
23、iew菜单的具体下拉菜单内容如图3.29所示:第三章第三章 DSP的集成开发环境的集成开发环境CCS 4.Project菜单 Project菜单的具体下拉菜单内容如图3.30所示,主要命令如下:第三章第三章 DSP的集成开发环境的集成开发环境CCS 5.Debug菜单 Debug菜单包含的是常用的调试命令,其具体下拉菜单内容如图3.31所示,主要调试命令如下:第三章第三章 DSP的集成开发环境的集成开发环境CCS第三章第三章 DSP的集成开发环境的集成开发环境CCS 6.Profiler菜单 剖析(Profiling)是CCS的一个重要功能,它可以在调试程序时,统计某一块程序执行所需要的CPU
24、时钟周期数、程序分支数、子程序被调用数和中断发生次数等统计信息,其具体下拉菜单内容如图3.32所示。第三章第三章 DSP的集成开发环境的集成开发环境CCS第三章第三章 DSP的集成开发环境的集成开发环境CCS 7.Option菜单 Option菜单用于设置CCS集成开发环境的选项,包括字体、反汇编选项、存储空间映射模式以及自定义CCS命令窗口等功能。Option菜单具体下拉菜单内容如图3.33所示,主要命令如下:第三章第三章 DSP的集成开发环境的集成开发环境CCSNW第三章第三章 DSP的集成开发环境的集成开发环境CCS8.Tools 菜单 Tools菜单提供了常用的工具集,其具体下拉菜单内
25、容如图3.34所示,常用工具如下:第三章第三章 DSP的集成开发环境的集成开发环境CCS第三章第三章 DSP的集成开发环境的集成开发环境CCS 9.DSP/BIOS菜单 DSP/BIOS菜单提供利用TI准实时操作系统DSP/BIOS开发DSP程序时进行调试分析的工具,使开发人员能对程序进行实时跟踪和分析,其具体下拉菜单内容如图3.35所示。第三章第三章 DSP的集成开发环境的集成开发环境CCS第三章第三章 DSP的集成开发环境的集成开发环境CCS 10.Help 菜单 Help菜单即帮助菜单,用户可以通过该菜单调用帮助文档,便于解决一些在CCS中的常见问题。Help菜单的具体下拉菜单内容如图3
26、.36所示。第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.2.5CCS工具栏工具栏 CCS集成开发环境主要提供4种工具栏,分别为Standard Toolbar、Edit Toolbar、Project Toolbar和Debug Toolbar。这4种工具栏可在View菜单下选择是否显示。1.Standard Toolbar 如 3-37所示,标准工具栏包括以下常用工具。New:新建一个文档。第三章第三章 DSP的集成开发环境的集成开发环境CCS Open:打开一个已存在的文档。Save:保存一个文档,如尚未命名,则打开Save As对话框 Cut:剪切。Copy:拷贝。Pas
27、te:粘贴。Undo:取消上一次编辑操作。Redo:恢复上一次编辑操作。第三章第三章 DSP的集成开发环境的集成开发环境CCS Find Next:查找下一个。Find Previous:查找上一个。Search Word:查找指定的文本。Find in Files:在多个文件中查找。Print:打印。Help:获取特定对象的帮助。第三章第三章 DSP的集成开发环境的集成开发环境CCS 2.Edit Toolbar 如图3.38所示,Edit菜单提供了一些常用的编辑命令及书签命令。Mark To:将光标放在括号前面再单击此命令,则将标记括号内所有文本。Mark Next:查找下一个括号对,并标
28、记其中的文本。第三章第三章 DSP的集成开发环境的集成开发环境CCS Find Match:将光标放在括号前面再单击此命令,光标将跳至与之配对的括号处。Find Next Open:将光标跳至下一个括号处(左括号)。Outdent Marked Text:将所选择文本向左移一个Tab宽度。Indent Marked Text:将所选择文本向右移一个Tab宽度。Edit:Toggle Bookmark:设置一个标签。第三章第三章 DSP的集成开发环境的集成开发环境CCS Edit:Next Bookmark:查找下一个标签。Edit:Previous Bookmark:查找上一个标签。Edit:
29、Bookmark:打开标签对话框。3.Project Toolbar Project工具栏提供了与工程和断点设置有关的命令。如图3.39所示,Project工具栏提供了以下命令。第三章第三章 DSP的集成开发环境的集成开发环境CCS Compile File:编辑文件。Incremental Build:对所有修改过的文件重新编译,再链接生成可执行程序。Build All:全部重新编译链接生成可执行程序。Stop Build:停止Build操作。Toggle Breakpoint:设置断点。Remove Breakpoints:移去所有的断点。Toggle Probe Point:设置Prob
30、e Point。Remove All Probe Points:移去所有的Probe Points。第三章第三章 DSP的集成开发环境的集成开发环境CCS 4.Debug Toolbar Debug工具栏提供以下常用的调试命令。Single Step:与Debug菜单中的Step Into命令一致,单步执行。Step Over:与Debug菜单中Step Over命令一致。Step Out:与Debug菜单中Step Out命令一致。Run to Cursor:运行到光标处。Run:运行程序。Halt:终止程序运行。第三章第三章 DSP的集成开发环境的集成开发环境CCS Animate:与De
31、bug菜单中Animate命令一致。Quick Watch:打开Quick Watch窗口观察或修改变量。Watch Window:打开Watch窗口观察或修改变量。Register Windows:观察或编辑CPU寄存器或外设寄存器值 View Memory:查看存储器指定地址的值。View Stack:查看堆栈值。View Disassembly:查看反汇编窗口。第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.3 CCS程序开发的流程程序开发的流程 3.3.1 CCS工程创建 CCS集成开发软件对每一个DSP开发应用项目需创建一个后缀为.pjt的工程文件,以便对开发应用项目的设
32、计文档进行管理。一个CCS中的工程项目包括源程序、库文件、链接命令文件和头文件等,它们按照目录树的结构组织在工程项目中。可以按照以下步骤创建、打开和关闭工程。第三章第三章 DSP的集成开发环境的集成开发环境CCS 1.创建一个新工程 选择“ProjectNew”命令,弹出如图3.40所示对话框,在Project文本框中输入工程名字,其他栏目均可根据习惯进行设置。工程文件扩展名是.pjt。若要创建多个工程,每个工程的文件名必须是唯一的。第三章第三章 DSP的集成开发环境的集成开发环境CCS 2.打开已有工程 选择“ProjectOpen”命令,弹出如图3.41所示对话框。双击需要打开的工程文件即
33、可。第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.关闭工程 选择“ProjectClose”命令,即可关闭当前工程。使用工程观察窗口观察刚创建的工程文件,工程窗口图形显示工程的内容。当打开工程时,工程观察窗口自动打开,如图3.42所示,要展开或压缩工程清单,单击工程文件夹、工程名和各个文件夹钱的“/”即可。第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.3.2 编辑源文件编辑源文件 1.创建新的源文件 可以按照以下步骤创建新的源文件。(1)选择“FileNewSource File”,将打开一个新的源文件编辑窗口。(2)在新的源代码编辑窗口输入代码。(3)选择“Fil
34、eSave”或者“FileSave As”保存文件。第三章第三章 DSP的集成开发环境的集成开发环境CCS 2.打开文件 可以在编辑的窗口打开任何ASCII文件。(1)选择“FileOpen”,将出现如图3.43所示的“打开”对话框。(2)在“打开”对话框中双击需要打开的文件,或者选择需要打开的文件并单击“打开”按钮,即可打开文件。第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.保存文件 (1)单击编辑窗口,激活需要保存的文件。(2)选择“FileSave As”,输入需要保存的文件名。(3)在“保存类型”下拉列表框中,选择需要的文件类型,如图3.44所示。(4)单击“保存”按钮。
35、第三章第三章 DSP的集成开发环境的集成开发环境CCS第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.3.3 编译与链接编译与链接 编译和链接也就是所谓的构建工程。可以按照以下步骤将与工程文件相关的源代码、目标文件、库文件等加入到工程文件清单中去。(1)选择“ProjectAdd Files to project”,出现Add Files to project对话框。(2)在Add Files to project对话框中,指定要加入的文件。如果文件不在当前目录中,浏览并找到该文件。(3)单击“打开”按钮,将指定的文件加到工程中去,当文件加入时,工程观察窗口将自动更新。第三章第三章
36、 DSP的集成开发环境的集成开发环境CCS (4)选择ProjectRebuild All或者单击Rebuild All工具栏按钮,在工程中的所有文件将被重新编译,重新汇编以及重新连接,从而对工程进行构建。一个输出窗口将会显示工程构建的过程和状态。在默认情况下,.out文件将在当前工程的debug目录下生成。可以在选择配置工具栏中选择不同的目录改变路径。当构建完成后,输出窗口将会显示Build complete.0 Errors,0 Warnings,0 Remarks。3.3.4程序调试程序调试 当完成工程项目构建,生成目标文件后,就可以进行程序的调试。一般的调试步骤为:第三章第三章 DSP
37、的集成开发环境的集成开发环境CCS 装入构建好的目标文件、设置程序断点、探测点和评价点、执行程序、程序停留在断点处、查看寄存器和内存单元的数据并对中间数据进行在线(或输出)分析。可以按照以下步骤对构建完的工程进行调试:(1)选择FileLoad Program命令加载程序。加载过程是将上述构建成功、生成的可执行文件加载到目标板,目标板可以是软件仿真环境,也可以是硬件目标板。默认情况下,CCS集成开发环境将会在你的工程路径下创建一个Debug子目录,把生成的.out文件放在里面。单击Open按钮加载程序。如果修改并且重新构建了工程,需要通过FileReload Program命令重新加载程序。第
38、三章第三章 DSP的集成开发环境的集成开发环境CCS (2)选择ViewMixed Source/ASM命令允许同步地查看C源程序和汇编代码的结果。可以在CCS集成开发环境中按F1键搜索那些指令的帮助。(3)选择DebugGo Main命令从主程序开始执行,在Main程序暂停。(4)选择DebugRun命令开始执行程序。(5)选择DebugHalt命令退出运行的程序。第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.4 DSP程序的调试方法程序的调试方法 3.4.1 断点 1.断点的设置 对于任意调试器,断点都是十分重要的组成部分。断点会停止程序的执行。当程序停止时,可以检查程序的状
39、态,检查或修改变量,检查调用堆栈,等等。断点可以设置在编辑窗口中任意一行源代码中或者设置在反汇编窗口的任意一个反汇编源指令上。在设置完一个断点后,可以启用断点也可以禁用断点。第三章第三章 DSP的集成开发环境的集成开发环境CCS 如果一个断点设置在一行源程序代码行上,必须有一行反汇编代码行与之相对应。在打开编译器优化选项后,许多源程序代码行就不再允许设置断点了。可以在编辑窗口中的混合模式下查看可以设置断点的代码行。第三章第三章 DSP的集成开发环境的集成开发环境CCS 在CCS中可以采用以下的方法设置断点。(1)利用设置断点对话框设置断点。(2)使用工具条上的按钮设置断点。(3)在反汇编窗口直
40、接设置断点。断点通常在指令行中用粉色背景显示,下面具体说明 (1)利用设置断点对话框设置断点。1)从调试菜单Debug中,选择Breakpoints(断点)命令,弹出断点/探测点/评估点对话框。第三章第三章 DSP的集成开发环境的集成开发环境CCS 2)在对话框中,单击断点标签Breakpoints,选择设置断点对话框。3)在设置断点对话框的Breakpoint Type(断点类型)栏中,选择断点类型,CCS中有以下五种断点。Break at Location无条件软件断点 Break at Location if expression is TRUE有条件软件断点。H/W Break设置在R
41、OM中的硬件断点。Break on Date read存储器读硬件断点。Break on Date read存储器写硬件断点。第三章第三章 DSP的集成开发环境的集成开发环境CCS 4)在Location栏中,输入要设置断点的位置。用户可以观察反汇编窗口,确定指令所处地址。断点的位置有以下两种形式:对于绝对地址,可输入任何有效的C表达式、C函数名或符号名等。对于C源文件,由于一条C语句可能对应若干条汇编指令,其断点位置难以用唯一地址确定。因此,断点位置可以采用“文件名line行号”的形式来表示。例如:在Location栏中,输入“hello.c line 32”,表示在文件名为“hello.c
42、”程序中,在第32行语句处设置断点。第三章第三章 DSP的集成开发环境的集成开发环境CCS 若选择条件断点,则对话框中的Expression(表达式)栏有效,输入条件表达式。当表达式运行结果为真(true=1)时,程序在此断点处暂停,否则继续执行。断点类型和位置设置后,单击Add(加入)按钮,产生一个新断点,并在Breakpoint窗口的断点清单中列出该断点。单击“确定”按钮,完成断点设置,关闭对话框。第三章第三章 DSP的集成开发环境的集成开发环境CCS (2)使用工具条上的按钮设置断点。这是一种快速设置断点的方法,具体步骤如下:在反汇编窗口或含有C源代码的编辑窗口中,将光标移动需要设置断点
43、的语句行上。单击项目工具条上的设置断点按钮,则在该行语句设置一个断点。(3)在反汇编窗口直接设置断点。在反汇编窗口中,用鼠标双击要设置断点的指令行,即可完成断点的设置。第三章第三章 DSP的集成开发环境的集成开发环境CCS 2.编辑已设置的断点 利用设置断点对话框可以对已设置的断点进行编译,修改断点的类型、位置和条件表达式。按照以下的步骤可以完成断点的编辑。(1)在调试菜单Debug中,选择Breakpoints(断点)命令,出现设置断点对话框。第三章第三章 DSP的集成开发环境的集成开发环境CCS (2)在Breakpoint窗口选择断点,所选断点呈现深色背景,同时对话框中的断点类型(Bre
44、akpoint Type)、位置(Location)和表达式(Expression)栏所选断点更新。(3)按要求对断点的类型、位置和表达式进行编辑。(4)单击Replace按钮,改变所选断点的属性。(5)单击“确定”按钮,关闭对话框,完成断点的编辑。第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.断点的删除 删除已设置的断点可采用以下的方法。(1)在反汇编窗口直接删除断点。在反汇编窗口中,鼠标双击已设断点行可清除该断点。此时,指令行上的粉色背景消失。(2)使用设置断点对话框删除某断点。打开断点对话框,从Breakpoint列表中选择要删除的断点,单击Delete(删除)按钮可删除此
45、断点。(3)使用项目工具条删除全部断点。单击项目工具条上的删除所有断点按钮,即可删除所有断点。第三章第三章 DSP的集成开发环境的集成开发环境CCS (4)使用设置断点对话框删除全部断点。打开断点对话框,单击Delete All(全部删除)按钮,可删除所有断点。4.断点的允许和禁止 断点可以设置成允许状态或禁止状态。禁止断点是指断点被临时挂起,但保存断点的类型和位置。(1)禁止断点。打开设置断点对话框。在断点窗口的清单中,选择要禁止的断点,单击该断点的标记框,清除“”标记,使该断点处于禁止状态。第三章第三章 DSP的集成开发环境的集成开发环境CCS (2)允许断点。打开设置断点对话框,在断点窗
46、口的清单中,选择要允许的断点,单击该断点的标记框,设置“”号标记,使该断点处于允许状态。(3)禁止所有断点。打开设置断点对话框,单击Disable All(全部禁止)按钮,使断点清单中的所有断点处于禁止状态。(4)允许所有断点。打开设置断点对话框,单击Enable All(全部允许)按钮,使清单中的所有断点处于允许状态。第三章第三章 DSP的集成开发环境的集成开发环境CCS 最后应当注意,设置断点时应当避免以下两种情形。(1)将断点设置在属于分支或调用的语句上。(2)将断点设置在快重复操作的倒数第一或第二条语句上。应该注意的是:CCS会在源程序窗口中重新定位断点到一个有效代码行上并设置断点图标
47、在该代码行的边缘空白处。如果一行允许设置断点的代码行无法设置断点,系统将会以消息窗形式自动报错。只要程序执行到任意一个试探点时,CCS将会终止目标程序。当执行停止时,将会自动更新任第三章第三章 DSP的集成开发环境的集成开发环境CCS 何与试探点有关的窗口或输出设备。因此,如果使用试探点,目标应用程序也许就不能实现实时运行的效果。这个开发阶段,就要测试一下所使用的算法。然后再使用RTDX和DSP/BIOS来分析实时效果。第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.4.2 探测点探测点 探测点又称探针(Probe Point),使用探针(Probe Point)是监视程序运行状况
48、的一种有效方法,可用于与PC主机进行数据通信,它是开发、调试算法的一种有效工具,一般来说,有以下三个作用。(1)将来自PC主机文件中的输人数据传送到目标系统的缓存 器中供算法使用。(2)将来自目标系统缓存器中的输出数据传送到PC主机的文件中供分析。(3)运用数据升级一个窗口(如图形窗口)。第三章第三章 DSP的集成开发环境的集成开发环境CCS 探针点和断点都会使目标停止并完成某些动作。然而,它们在以下几方面不同:(1)探针立即中止目标系统,完成一个操作后,再自动恢复目标系统的运行;(2)断点暂停CPU直到人工恢复其运行为止,且更新所有打开的窗口;(3)探针允许自动执行文件的输人或输出,而断点则
49、不行。第三章第三章 DSP的集成开发环境的集成开发环境CCS 1.探侧点的设置 探测点可以在编辑窗口的源文件中设置,也可以在反汇编窗口的反汇编指令中设置。设置探测点可以使用项目工具条设置,也可以使用设置探测点对话框设置。设置好的探测点在源文件或反汇编窗口中,呈蓝色背景显示。(1)使用项目工具条设置。在编辑窗口或反汇编窗口中,将光标移到主函数要加人探测点的行上,单击项目工具条上的设置探测点按钮,即可完成探测点的设置。第三章第三章 DSP的集成开发环境的集成开发环境CCS (2)使用设置探测点对话框设置。打开设置探测点对话框。输入各选项,单击Add(加入)按钮,该探测点将列入探测点窗口的清单中。单
50、击“确定”按钮,完成探测点的设置。第三章第三章 DSP的集成开发环境的集成开发环境CCS 2.探测点的删除 已设置的探测点,可以采用以下的方法删除。(1)使用设置探测点对话框删除某探测点。打开设置探测点对话框,从Probe Point窗口列表中选择要删除的探测点,单击Delete按钮,即可删除此探测点。(2)使用设置探测点对话框删除全部探测点。打开设置探测点对话框,单击Delete All(全部删除)按钮,可删除所有探测点。(3)使用项目工具条删除全部探测点。单击项目工具条上的删除所有探测点按钮,即可删除所有探测点。第三章第三章 DSP的集成开发环境的集成开发环境CCS 3.探测点的允许和禁止