CCS应用界面最上方的一行为CCS的菜单栏,它包含12个菜单项,每个菜单项的下拉菜单中又包含多个子菜单项,这些子菜单项分别用来执行相应的CCS功能命令。
1.File菜单
File菜单提供了与文件操作相关的命令,CCS在使用过程中所要用到的文件类型有以下几种:
1)*.pjt:CCS定义的工程文件,管理DSP程序相关的所有文件和编译链接选项。
3)*.h:C/C++语言程序的头文件,包括DSP/BIOS API模块的头文件。
4)*.asm:汇编语言编写的源程序文件。
5)*.lib:库文件。
6)*.cmd:链接命令文件,对DSP的存储空间进行配置。
7)*.cdb:CCS的配置数据库文件,是使用DSP/BIOS API模块所必需的。当保存配置文件时,将产生链接器命令文件(*cfg.cmd)、头文件(*cfg.h54)和汇编语言源文件(*cfg.s54)。
8)*.obj:由源文件经编译汇编后生成的目标文件,是COFF文件。
9)*.out:完成编译、汇编、链接后所形成的可执行的COFF文件,可加载到目标DSP(实际目标板或仿真目标板Simulator)的程序空间,在CCS监控下进行调试和执行。
10)*.wks:工作区文件,可用来保存CCS用户界面的当前信息。
File菜单的具体下拉菜单内容如图6-10所示,除Open、Save、Print等常见命令外,其主要的菜单项命令如下:
1)New→Source File:新建一个源文件,包括扩展名为*.c、*.asm、*.h、*.cmd、*.gel、*.map、*.inc等文件。
2)New→DSP/BIOS Configuration:新建一个DSP/BIOS配置文件。
3)Load Program:将DSP可执行的COFF文件(*.out)中的数据和符号加载到目标DSP(实际目标板或仿真目标板Simulator)中。
4)Reload Program:重新加载可执行的COFF文件。如果程序未做更改,则只加载该DSP程序代码而不加载符号表。
5)Load Symbols:当调试器不能或无需加载目标代码(如目标代码存放于ROM中)时,仅将符号信息加载到目标板。此命令只清除符号表,不更改存储器内容和设置程序入口。
6)Load GEL:加载通用扩展语言文件到CCS中,在调用GEL函数之前,应将包含该函数的GEL文件加入CCS中,从而将GEL函数先调入内存。当加载的文件修改后,应先卸掉该文件,再重新加载该文件,从而使修改生效。加载GEL函数时将检查文件的语法错误,但不检查变量是否已定义。
7)Data→Load:将主机文件中的数据加载到目标DSP,可以指定存放的地址和数据长度。数据文件的格式可以是COFF格式,也可以是CCS所支持的数据格式。
8)Data→Save:将目标DSP存储器中的数据保存到主机上的文件中,该命令和Data→Load是一个相反的过程。
2.Edit菜单
Edit菜单提供的是与编辑相关的命令,其具体下拉菜单内容如图6-11所示,除了Undo、Redo、Cut、Copy、Delete、Paste和Find等常用的文件编辑命令外,还有如下编辑命令:
图6-10 File菜单
图6-11 Edit菜单
1)Findin Files:在多个文本文件中查找特定的字符串或表达式。
2)Go To:快速定位并跳转到源文件中的某一指定的行或书签处。
3)Memory→Edit:编辑存储器的某一存储单元。
4)Memory→Copy:将某一存储块的数据(利用起始地址和长度)复制到另一存储块中。
5)Memory→Fill:将某一存储块全部填入一个固定的值。
6)Memory→Patch Asm:在不重新编译程序的情况下,直接修改目标DSP中可执行程序指定地址的汇编代码。
7)Register:编辑指定寄存器(CPU寄存器和外设寄存器)的值。由于Simulator不支持外设寄存器,因此不能在Simulator下监视和管理外设寄存器的内容。
3.View菜单
在View菜单中,可以选择是否显示各种工具栏和各种窗口,View菜单的的具体下拉菜单内容如图6-12所示。在DSP程序调试过程中,常用命令如下:
1)View菜单中从Standard Toobar命令至Plug-in Toolbars命令,若选择某个命令,则此项前端标记“√”,表示在CSS界面显示该工具栏,否则不显示该工具栏。
2)Memory:显示指定的存储器中的内容。
3)Disassemble:当加载DSP可执行程序后,CCS将自动打开一个反汇编窗口,显示相应的反汇编指令和符号信息,可通过选择该命令来显示或关闭反汇编窗口。
4)Registers→CPU Registers:显示CPU寄存器中的值,当CPU寄存器中的值发生变化时,显示窗口中对应项变成红色。
5)Registers→Peripheral Regs:显示外设寄存器的值,当寄存器中的值发生变化时,显示窗口中对应项变成红色。
6)Graph→Time/Frequency:打开图形显示窗口,在时域或频域显示信号波形。显示缓冲的大小由Display Data Size定义。
图6-12 View菜单
7)Graph→Constellation:打开图形显示窗口,使用星座图显示信号波形。输入信号被分解为X、Y两个分量,采用笛卡儿坐标显示波形。显示的缓冲大小由Constellation Points定义。
8)Graph→Eye Diagram:打开图形显示窗口,使用眼图来量化信号失真度。在指定的显示范围内,输入信号被连续叠加并显示为类似眼睛的形状。
9)Graph→Image:打开图形显示窗口,使用Image图显示图像数据,测试图像处理算法。图像数据基于RGB或YUV数据流显示。
10)Watch Window:打开观察窗口,通过该窗口检查和编辑变量或C表达式,可以以不同格式显示变量值,还可以显示数组、结构体变量或指针等包含多个元素的变量。
11)Quick Watch:打开一个快速观察窗口,是Watch Window的简化窗口。
12)Call Stack:检查所调试程序的函数调用情况。此功能调试C程序时有效。
13)Expression List:所有的GEL函数和表达式都采用表达式求值程序来估值。
14)Mixed Sourse/ASM:选择该命令,CCS同时显示C语言代码及与之对应的汇编代码。
4.Project菜单
CCS使用工程(Project)来管理设计文档。CCS不允许直接对DSP汇编代码或C语言源文件生成DSP可执行代码。只有建立在工程文件的基础上,在菜单或工具栏上运行Build命令时才生成可执行代码。一个工程包括建立一个DSP程序的全部信息,包括源程序文件、COFF文件、库文件以及这些文件的关联文件等,也包括工程的编译链接选项信息。工程文件被存盘为*.pjt文件。所有与工程有关的操作命令都可以在Project菜单中找到。Project菜单的具体下拉菜单内容如图6-13所示,主要命令如下:
1)New:建立新的工程。
2)Open:打开已有的工程文件。
3)Add Files to Project:CCS根据文件的扩展名将文件添加到工程的相应子目录中。工程中支持C源文件(*.c*)、汇编源文件(*.a*、*.s*)、库文件(*.o*、*.lib*)、头文件(*.h)和链接命令文件(*.cmd)。其中C和汇编源文件可以被编译和链接,库文件和链接命令文件只能被链接,CCS会自动将头文件添加到工程中。
4)Compile File:对C语言或汇编语言源文件进行编译。
5)Build:重新编译和链接C语言或汇编语言源文件。对应那些没有修改的源文件,CCS将不重新编译。
6)Rebuild All:对工程中所有文件重新编译,并链接生成DSP可执行的COFF格式的文件。
7)Build Options:用来设定编译器、汇编器和链接器的参数。
8)Scan All File Dependencies:扫描当前活动工程中的关联文件,并显示在窗口中当前工程树形列表中,例如C语言的头文件是不能通过Add Files to Project命令加入工程的,但可通过此命令显示已加入工程。当编译链接当前活动工程时,所有关联文件会自动显示在当前工程中。
5.Debug菜单
Debug菜单包含的是常用的调试命令,其具体下拉菜单内容如图6-14所示,主要调试命令如下。
图6-13 Project菜单
图6-14 Debug菜单
1)Breakpoints:设置/取消断点命令。程序执行到断点时将停止运行。当程序停止运行时,可检查程序的状态,查看和更改变量值,查看堆栈等。在设置断点时应注意以下两点:
①不要将断点设置在任何延迟分支或调用指令处。
②不要将断点设置在repeat块指令的倒数1、2行指令处。
值得一提的是,CCS的v3.3版本与其之前的版本相比,在Debug菜单项里缺少了设置探针(Probe Points)命令,这是因为在CCSv3.3版本中的断点就包含了探针功能。探针设置后,允许更新观察窗口并在算法的指定处(设置探针处)将PC文件数据读至存储器或将存储器数据写入PC文件中,此时应设置FileI/O属性。(www.xing528.com)
2)Step Into:单步执行。如果运行到调用函数处将跳入函数单步运行。
3)Step Over:执行一条C指令或汇编指令。与Step Into不同的是,为保护处理器流水线,该指令后的若干条延迟分支或调用将同时被执行。如果运行到函数调用处将执行完该函数而不跳入函数执行,除非在函数内部设置了断点。
4)Step Out:如果程序运行在一个子程序中,执行Step Out将使程序执行完该子程序后回到调用该函数的地方。在C源程序模式下,根据标准运行C堆栈来推断返回地址,否则根据堆栈顶的值来求得调用函数的返回地址。因此,如果汇编程序使用堆栈来存储其他信息,则Step Out命令可能工作不正常。
5)Run:从当前程序计数器(PC)执行程序,碰到断点时程序暂停执行。
6)Halt:中止程序运行。
7)Animate:动画运行程序。当碰到断点时程序暂时停止运行,在更新未与任何探针相关联的窗口后程序继续执行。该命令的作用是在每个断点处显示处理器的状态,可以在Option菜单的Customize下选择Animate Speed来控制其速度。
8)Run Free:忽略所有断点,从当前程序计数器(PC)处开始执行程序。该命令在Simulator下无效。使用硬件仿真器进行仿真时,该命令将断开与目标DSP的连接,因此可移走JTAG和MPSD电缆。在Run Free时还可对目标DSP硬件复位。
9)Run to Cursor:程序执行到光标处,光标所在行必须为有效的代码行。
10)Restart:将程序计数器(PC)的值恢复到程序的入口,但该命令不开始程序的执行。
11)Go Main:在程序的main符号处设置一个临时断点。该命令在调试C程序时起作用。
12)Multiple Operation:设置单步执行的次数。
13)Reset CPU:终止程序的执行,复位DSP程序,初始化所有的寄存器。
6.GEL菜单
CCS软件在配置开发平台时,常常会同时设置一个对应的GEL文件,在启动CCS集成开发环境时该GEL文件自动加载。当选择C5402为目标DSP时,GEL菜单中包括CPU_Reset和C5402_Init命令,如图6-15所示。
图6-15 GEL菜单
1)C5402_Configuration→CPU_Reset:复位目标DSP、复位存储器映射、禁止存储器映射及初始化寄存器。
2)C5402_Configuration→C5402_Init:复位目标DSP,与CPU_Reset命令不同的是,该命令使能存储器映射,同时复位外设和初始化寄存器。
7.Option菜单
Option菜单用于设置CCS集成开发环境的选项,包括字体、反汇编选项、存储空间映射模式以及自定义CCS命令窗口等功能。Option菜单的具体下拉菜单内容如图6-16所示,主要命令如下:
1)Font:设置CCS编辑、显示环境的字体、字形、大小。
2)Disassembly Style:设置反汇编窗口显示模式,包括反汇编成助记符或代数符号,直接寻址与间接寻址,用十进制、二进制或十六进制显示。
3)Memory Map:定义调试时哪些存储空间可以访问,哪些存储空间不可以访问,对于不同的DSP程序会由于对应CMD文件不同而发生变化。
4)Customize:打开自定义对话框,通过该对话框可以对CCS默认的环境设置进行修改,要修改某类环境设置,按〈Tab〉键或鼠标单击切换到该页即可。
8.Profiler菜单
剖析(Profiling)是CCS的一个重要功能,它可以在调试程序时,统计某一块程序执行所需要的CPU时钟周期数、程序分支数、子程序被调用数和中断发生次数等统计信息。Profile Point和Profile Clock作为统计代码执行的两种机制,常常一起配合使用。Profile菜单的具体下拉菜单内容如图6-17所示,主要命令如下:
图6-16 Option菜单
图6-17 Profiler菜单
1)Clock→Enable:为了获得指令的周期及其他事件的统计数据,必须使能剖析时钟(ProfileClock)。当剖析时钟被禁止时,将只能计算到达每个剖析点的次数,而不能计算统计数据。
剖析时钟作为一个变量(CLK)通过Clock窗口被访问。CLK变量可在Watch窗口观察,并可在EditVarible对话框中修改其值。CLK还可以在用户定义的GEL函数中使用。
指令周期的计算方式与DSP的驱动程序有关,对使用JTAG扫描路径进行通信的驱动程序,指令周期通过处理器的片内分析功能进行计算,其他驱动程序则可以使用其他类型的定时器。Simulator使用模拟的DSP片内分析接口来统计剖析数据。当时钟使能时,CCS调试器将占用必要的资源以实现指令周期的计算。
2)Clock→View:在CCS主界面的右下角打开“Clock”窗口,以显示CLK变量的值。双击“Clock”窗口内的内容可直接复位CLK变量(使Clock=0)。
3)Clock→Setup:时钟设置。单击该命令将出现如图6-18所示的ClockSetup对话框。
图6-18 ClockSetup对话框
在Count域内选择剖析的事件,对某些驱动程序而言,CPUCycles可能是唯一的选项。对于使用片内分析功能的驱动程序而言,可以剖析其他事件,比如中断次数、子程序或中断返回次数、分支数或子程序调用次数等。使用ResetOption参数可以决定如何计数。如选择Manual选项,则CLK变量将不断累计指令周期数;如选择Auto选项,则在每次DSP运行前自动将CLK设置为0。因此,CLK变量显示的是上一次运行以来的指令周期数。
9.Tools菜单
Tools菜单提供了常用的工具集,其具体下拉菜单内容如图6-19所示,常用工具如下:
1)Data Converter Support:用于快速地配置与DSP相连接的数据转换器件。
2)C54xx McBSP:用于观察、编辑McBSP寄存器内容。
3)C54xx DMA:用于观察、编辑DMA寄存器内容。
4)C54xx Simulator Analysis:用于设置和监视事件的发生,并为加载调试器使用的特定伪寄存器集提供了一个透明的观察手段,调试器使用这些伪寄存器存取片内分析模块。
5)Command Window:在该工具窗口中,可以使用Debug命令进行程序调试。
6)Port Connect:用于对一个内部存储地址或端口地址读写文件数据。
7)Pin Connect:用于仿真来自外部的中断信号,仅用于Simulator。
8)RTDX:用于在不打断程序运行的情况下实时分析DSP程序的运行。
10.DSP/BIOS菜单
DSP/BIOS菜单提供利用TI公司准实时操作系统DSP/BIOS开发DSP程序时进行调试分析的工具,使开发者能对程序进行实时跟踪和分析,其具体下拉菜单内容如图6-20所示。
1)RTA Control Panel:打开实时分析工具控制面板,可以设置实时分析的相关参数,使能各种跟踪器。
2)Execution Graph:调用执行图分析工具,打开执行图窗口,该窗口显示程序中各线程的运行情况。
3)Statistics View:打开统计视图窗口,该窗口显示统计模块的实时数据。
4)Message Log:打开信息日志窗口,该窗口显示日志模块传送的信息。
5)Kernel/Object View:打开内核/模块窗口,该窗口显示当前程序中各种BIOS模块的实时配置、状态等信息;显示的模块包括KNL模块、TSK模块、MBX模块、SEM模块、MEM模块、SWI模块。
图6-19 Tools菜单
6)Host Channel Control:打开主机信道控制窗口,该窗口显示当前程序中定义的主机信道模块的相关信息。
7)CPU Load Graph:打开CPU负载图窗口,该窗口显示目标板CPU的正在处理的负载信息。
11.Help菜单
Help菜单即帮助菜单,用户可以通过该菜单调用帮助文档,便于解决一些在CCS中的常见问题。Help菜单的具体下拉菜单内容如图6-21所示。
图6-20 DSP/BIOS菜单
图6-21 Help菜单
1)Contents:将打开CCS随软件附带的帮助,介绍了CCS集成开发环境的所有操作。
2)Use Manuals:打开一个网页,页面上包括TI公司与CCS相关的所有用户手册,在CCS安装时需要选择安装用户手册。
3)Tutorial:打开一个CHM文件,介绍CCS的特点和怎样使用CCS集成开发环境,在该文件中包括CCS应用介绍的视频动画。
4)Web Resources:可以选择CCS帮助信息的Internet网址,通过Internet查看帮助信息。
12.Window菜单
与所有的Windows应用程序一样,Window菜单用于管理所有打开的文档窗口,可以采用层叠、平铺方式在工作区显示各个窗口,也可以直接选择某个窗口作为当前活动窗口。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。