CCS的使用文档格式.docx
- 文档编号:7695317
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:33
- 大小:274.15KB
CCS的使用文档格式.docx
《CCS的使用文档格式.docx》由会员分享,可在线阅读,更多相关《CCS的使用文档格式.docx(33页珍藏版)》请在冰点文库上搜索。
以下任一操作都可以添加文件到工程中:
选择命令Project→AddFiletoProject…
在工程视图中右键单击调出关联菜单,选择AddFile…
在工程中源文件、链接命令文件及库文件(Libraries)需要用户指定加入,头文件(Include文件)通过扫描相关性(ScanAllDependencies)自动加入到工程中.
在工程视图中右键单击某文件,从关联莱单中选择”Removefromproject”可以从工程中删除此文件.
三)编辑源程序
CCS集成编辑环境可以编辑任何文本文件(对C程序和汇编程序),可以打开多个窗口或对同一文件打开多个窗口,进行多窗口显示.点击主莱单命令File→New→SourceFile弹出编辑窗口进行编辑.
四)工具条和快捷键
命令View→StandardToolbar和View→EditToolbar分别调出标准工具条和编辑工具条.工具条上按钮的含义参见附录。
CCS内嵌编辑器所用快捷键可查阅在线帮助(Help).用户可以根据自已的喜好定义快捷键。
除编辑命令外,CCS所有菜单命令都可以定义快捷键。
选择Option→Keyboard命令打开自定义快捷方式对话框,选中需要定义快捷键的命令,.如果此命令已经有快捷键,则在Assigned框架中显示出来,否则为空白。
用户可以点击Add按钮,敲下组合键(一般为Ctrl+某键),则相应按键描述显示在”Pressnewshortcut”框中。
.
五)构建工程
工程所需文件编辑完成之后,可以对该工程进行编译链接,产生可执行文件,为调试作准备.CCS提供了4条命令构建工程:
(1)编译文件:
命令Project→CompileFile或单击工程工具条”编译当前文件”按钮,仅编译当前文件,不进行链接.
(2)增量构建:
单击工程工具条”增量构建”按钮则只编译那些自上次构建后修改过的文件.增量构建(incrementalbuild)只对修改过的源程序进行编译,先前编译过、没有修改的程序不再编译.
(3)重新构建:
命令Project→Rebuild或单击工程工具条”重新构建”按钮重新编译链接当前工程.
(4)停止构建:
命令Project→StopBuild或单击工程工具条”停止构建”按钮停止当前的构建进程.
CCS集成开发环境本身并不包含编译器和链接器,而是通过调用软件开发工具(C编译器、汇编器和链接器)来编译链接用户程序。
编译器所用参数可以通过工程选项设置.选择命令Project→Options或从工程窗口的关联莱单中选择Options.在弹出的对话框中用户可以设置编译器,汇编器和链接器选项。
有关选项的具体含义可以查阅在线连机帮助(Help).
二、调试
CCS提供了非常丰富的调试手段.在程序执行控制上,CCS提供了四种单步执行方式.从数据流角度上,用户可以对内存单元和寄存器进行查看和编辑,载入/输出外部数据,设置探针等.一般的调试步骤为:
调入构建好的可执行程序,先在感兴趣的程序段设置断点,然后执行程序停留在断点处,查看寄存器的值或内存单元的值,对中间数据进行在线(或输出)分析.反复这个过程直到程序完成预期的功能.
1载入可执行程序
命令File→LoadProgram载入编译链接好的可执行程序.用户也可以修改”Program→Load”属性,使得在构建工程后自动装入可执行程序.设置方法为选择命令Options→ProgramLoad.
2使用反汇编工具
在某些时候(例如调试C语言关键代码),用户可能需要深入到汇编指令一级.此时可以利用CCS的反汇编工具.用户的执行程序(不论是C程序或是汇编程序)载入到目标板或仿真器时,CCS调试器自动打开一个反汇编窗口.如图所示.
对每一条可反汇编的语句,反汇编窗口显示对应的反汇编指令(某些C语句一条可能对应几条反汇编指令),语句所处地址和操作码(即二进制机器指令).当前程序指针PC(ProgramPoint)所在语句用彩色高亮表示.当源程序是C代码时,用户可以选择使用混合C源程序(C源代码和反汇编指令显示在同一窗口)或汇编代码(只有反汇编指令)模式显示.
除在反汇编窗口中可以显示反汇编代码外,CCS还允许用户在调试窗口中混合显示C和汇编语句.用户可以选择命令View→MixedSource/Asm,则在其前面出现一对选中标志.选择Debug→GoMain,调试器开始执行程序并停留在main()处.C源程序显示在编辑窗口中,与C语句对应的汇编代码以暗色显示在C语句下面.
三、程序执行控制
在调试程序时,经常会用到复位、执行、单步执行等命令.下面依次介绍CCS的目标板(包括仿真器)复位,执行和单步操作.
1、.CCS提供复位目标板的方法:
(1)ResetDSP:
Debug→ResetDSP命令初始化所有的寄存器内容并暂停运行中的程序.如果目标板不响应命令,并且用户正在使用一基于核的设备驱动,则DSP核可能被破坏,用户需要重新装入核代码.对仿真器,CCS复位所有寄存器到其上电状态.
(2)Restart:
Debug→Restart命令将PC恢复到当前载入程序的入口地址.此命令不执行当程序.
(3)GoMain:
Debug→GoMain命令在主程序入口处设置一临时断点,然后开始执行.当程序被暂停或遇到一个断点时,临时断点被删除.此命令提供了一种快速方法来运行用户应用程序.
2、.CCS提供了4种程序执行操作
(1)执行程序.命令为Debug→Run或单击调试工具条上的”执行程序”按钮.程序运行直到遇见断点为止.
(2)暂停执行.命令为Debug→Halt或单击调试工具条上的”暂停执行”按钮.
(3)动画执行.命令为Debug→Animate或单击调试工具条上的”动画执行”按钮.用户可以反复运行执行程序,直到遇见断点为止.
(4)自由运行.命令为Debug→RunFree.此命令禁止所有断点,包括探针断点和Profile断点,然后运行程序.在自由运行中对目标处理器的任何访问都将恢复断点.若用户在基于JTAG设备上使用模拟时,此命令将断开与目标处理器的连接,用户可以折卸JTAG或MPSD电缆.在自由运行状态不用户也可以对目标处理器进行硬件复位.注意在仿真器中RunFree无效.
3、CCS提供的单步执行操作
CCS提供的单步执行操作有4种类型,它们在调试工具条上分别有对应的快捷按钮.
(1)单步进入(快捷键F8).命令为Debug→StepInto或单击调试工具条上的”单步进入”按钮.当调试语句不是最基本的汇编指令时,此操作将进入语句内部(如子程序或软件中断)调试.
(2)单步执行(快捷键F10).命令为Debug→StepOver或单击调试工具条上的”单步执行”按钮.此命令将函数或子程序当作一条语句执行,不进其内部调试.
(3)单步跳出(快捷键Shift+F7).命令为Debug→StepOut或单击调试工具条上的”单步跳出”按钮.此命令将从子程序中跳出.
(4)执行到当前光标处(快捷键Ctrl+F10).命令为Debug→RuntoCursor或单击调试工具条上的”执行到当前光标处”按钮.此命令使程序运行到光标所在的语句处.
四、断点设置
断点的作用在于暂停程序的运行,以便观察/修改中间变量或寄存器数值.CCS提供了两类断点:
软件断点和硬件断点.这可以在断点属性中设置.设置断点应当避免以下两种情形;
将断点设置在属于分支或调用的语句上.
将断点设置在块重复操作的倒数笫一或笫二条语句上.
.一)软件断点
只有当断点被设置而且被允许时,断点才能发挥作用.下面分别介绍断点的设置,删除断点和断点的使能.
1.断点设置
有两种方法可以增加一条断点.
(1)使用断点对话框
选择命令Debug→Breakpoints将弹出对话框如下图所示.:
在”BreakpointType”栏中可以选择”无条件断点(BreakatLocation)”或”有条件断点(BreakatLocationifexpressionisTRUE)”.在”Location”栏中填写需要中断的指令地址.用户可以观察反汇编窗口,确定指令所处地址.对C代码,由于一条C语句可能对应若干条汇编指令,难以用唯一地址确定位置.为此可以采用”filenamelinelineNumber”的形式定位源程序中的一条C语句.断点类型和位置设置完成后,依次单击”Add”和”OK”按钮即可.断点设置成功后,该语句条用彩色光条显示.
(2)采用工程工具条
将光标移到需要设置断点的语句上,点击工程工具条上的”设置断点”按钮.则该语句位置一断点,默认情况下为”无条件断点”.用户也可以使用断点对话框修改断点属性,例如将”无条件断点”改为”有条件断点”.
2.断点的删除
在上图所示断点对话框中,单击”Breakpoint”列表中的一个断点,然后点击”Delete”按钮可删除此断点.点击”Deleteall”按钮或工程工具条上的”取消所有断点”按钮,将删除所有断点.
3.允许和禁止断点
在上图所示断点对话框中,单击”EnableAll”或”DisableAll”将允许或禁止所有断点.”允许”状态下,断点位置前的复选框有”对勾”符号.注意只有当设一断点,并使其”允许”时,断点才发挥作用.
二)硬件断点
硬件断点与软件断点相比,它并不修改目标程序,因此适用于在ROM存储器中设置断点或在内存读写产生中断两种应用.注意在仿真器中不能设置硬件断点.
添加一硬件断点的命令为:
Debug→Breakpoint.对两种不同的应用目的,其设置方法为:
(1)对指令拦截(ROM程序中设置断点),在断点类型(BreakpointType)栏中选择”H/WBreakpointatlocation”.”Location”栏中填入设置语句的地址,其方法与前面所述软件断点地址设置一样.”Count”栏中填入触发计数,即此指令执行多少次后断点才发生作用.依次单击”Add”和”OK”按钮即可.
(2)对内存读写的中断,在断点类型(BreakpointType)栏中选择<
Read/Write/R/W>
.”Location”栏中填入内存地址.”Count”栏中填入触发计数N.则当读写此内存单元N次后,硬件断点发生作用.
硬件断点的允许/禁止和删除方法与软件断点的相同,不再赘述.
三)探针断点
CCS的探针断点提供了一种手段允许用户在特定的时刻从外部文件中读入数据或写出数据到外部文件中.详细介绍了探针断点的设置与使用,此处略去不述.
五、内存、寄存器和变量操作
在调试过程中,用户可能需要不断观察和修改寄存器、内存单元和数据变量.下面我们依次介绍如何修改内存块,如何查看和编辑内存单元、寄存器和数据变量.
一)内存块操作
CCS提供的内存块操作包括拷贝数据块和填充数据块.这在数据初始化时较为有用.
拷贝数据块
功能:
拷贝某段内存到一新位置.
命令:
Edit→Memory→Copy,在对话框中填入源数据块首地址、长度和内存空间类型以及目标数据块首地址和内存空间类型即可.
填充数据块
用特定数据填充某段内存
Edit→Memory→Fill,在对话框中填入内存首地址、长度、填充数据和内存空间类型即可.
二)查看、编辑内存
CCS允许显示特定区域的内存单元数据.方法为选择View→Memory或单击调试工具条上的”显示内存数据”按钮.在弹出对话框中输入内存变量名(或对应地址)、显示方式即可显示指定地址的内存单元.为改变内存窗口显示属性(如数椐显示格式,是否对照显示等),可以在内存显示窗口中单击右键,从关联莱单中选择Properties即弹出选项对话框.如图所示.
内存窗口选项包括以下内容:
(1)Address:
输入需要显示内存区域的起始地址.
(2)QValue:
显示整数时使用的Q值(定点位置).新的整数值=整数/2Q.
(3)Format:
从下拉菜单中选取数据显示的格式.
(4)UseIEEEFloat:
是否使用IEEE浮点格式.
(5)Page:
选择显示的内存空间类型-程序、数据或I/O.
(6)EnableReferenceBuffer:
选择此检查框将保存一特定区域的内存快照以便用于比较.
例如,用户允许”EnableReferenceBuffer”选择,并定义了地址范围为0x0000~0x002F.此区段的数据将保存到主机内存中.每次用户执行暂停目标板、命中一断点、刷新内存等操作时,编译器都将比较参考缓冲区(ReferenceBuffer)与当前内存段的内容,数值发生变化的内存单元将用红色突出显示.
(7)StartAddress:
用户希望保存到参考缓冲区(ReferenceBuffer)的内存段的起始地址.只有当用户选中”EnableReferenceBuffer”检查框时此区域才被激活.
(8)EndAddress:
用户希望保存到参考缓冲区的内存段的终止地址.只有当用户选中”EnableReferenceBuffer”检查框时此区域才被激活.
(9)UpdateReferenceBufferAutomatically:
若选择此检查框,则参考缓冲区的内容将自动被内存段(由定义参考缓冲区的起始/终止地址所规定的区域)的当前内容覆盖.
在”format”栏下拉条中,用户可以选择多种显示格式显示内存单元,如表2-1所示.
表2-1内存单元数据显示格式
数据格式
描述
C-style
十六进制字,带前缀”0x”
Hex
TI格式的十六进制数
Signedinteger
有符号整型数
Unsignedinteger
无符号整型数
Character
WORD的低字节作为字符显示
Packedcharacter
每个word的高低字节均作为8-bit字符显示
Floatingpoint
十进制浮点显示
Exponentialfloat
指数形式的浮点显示
Binary
二进制显示
编辑某一内存单元的方法为:
在内存窗口中鼠标左键双击需要修改的内存单元,或者选择命令Edit→Memory→Edit,在对话框中指定需要修改的内存单元地址和内存空间类型,并输入新的数据值即可.注意输入数据前面加前缀”Ox”为十六进制,否则为十进制.
凡是前面所讲到的需要输入数值(修改地址、数据)的场合,均可以输入C表达式.
三)CPU寄存器
1.显示寄存器
选择命令View→CPURegister或单击调试工具条上的”显示寄存器”按钮.CCS将在CCS窗口下方弹出一寄存器查看窗口.
2.编辑寄存器
有3种方法可以修改寄存器的值:
(1)命令Edit→EditRegister.
(2)在寄存器窗口双击需要修改的寄存器.
(3)在寄存器窗口单击右键,从弹出的菜单中选择需要修改的寄存器.
三种方法都将弹出一编辑对话框,在对话框中指定寄存器(如果在”Register”栏中不是所期望的寄存器)和新的数值即可.
四)编辑变量
命令Edit→EditVariable可以直接编辑用户定义的数据变量,在对话框中填入变量名(Variable)和新的数值(Value)即可.用户输入变量名后,CCS会自动在Value栏显示原值.注意变量名前应加”*”前缀,否则显示的是变量地址.在变量名输入栏,用户可以输入C表达式,也可以采用偏移地址@内存页”方式来指定某内存单元.例如:
*0x1000@prog,*0x2000@io和*0x1000@data等.
.五)通过观察窗口查看变量
在程序运行中,用户可能需要不间断地观察某个变量的变化情况.CCS提供了观察窗口(WatchWindow)用于在调试过程中实时查看和修改变量值.
1.加入观察变量
选择命令View→WatchWindow或单击调试工具条上钓”打开观察窗口”按钮,则观察窗口出现在CCS的下部位置.CCS最多提供4个观察窗口,在每一个观察窗口中用户都可以定义若干个观察变量.有3种方法可以定义观察变量:
(1)将光标移到观察窗口中按”Insert”键,弹出表达式加入对话框,在对话框中填入变量符号即可.
(2)将光标移到观察窗口中单击右键,从弹出菜单中选择”InsertNewExpression”,在表达式加入对话框中填入变量符号即可.
(3)在源文件窗口或反汇编窗口双击变量,则该变量反白显示,右键单击选择”AddtoWatchWindow”.则该变量直接进入当前观察口列表.
表达式中的变量符号当作地址还是变量处理取决于目标文件是否包含有符号调试信息.若在编译链接时有-g选项(此意味着包含符号调试信息),则变量符号当作真实变量值处理,否则作为地址.对于后一种情况,为显示该内存单元的值,应当在其前面加上前缀星号”*”.
2.删除某观察变量
有两种方法可以从观察窗口中删去某变量:
(1)双击观察窗口中某变量,选中后该变量以彩色亮条显示.按”Delete”键,则从列表中删除此变量.
(2)选中某变量,右键单缶,然后选择”RemoveCurrentExpression”.
3.观察数组或结构变量
某些变量可能包含多个单元,如数组、结构或指针等.这些变量加入到观察窗口中时,会有:
“+”或”-“的前缀.”-“表示此变量的组成单元已展开显示,”+”表示此变量被折叠,组成单元内容不显示.用户可以通过选中变量,然后按回车键来切换这两种状态.
4.变量显示格式
用户可以在变量名后边跟上格式后缀以显示不同数据格式.例如:
MyVar,x或MyVar,d等.允许的数据格式如表2-2所示.
后缀
格式
d
十进制
e
科学浮点计数法
f
小数浮点数
x
十六进制
o
八进制
u
无符号整数
c
ASCII字符(字节)
p
大印度格式(BigEndian)打包ASCII字符:
即第1字符在高位字节(MSBbyte)
小印度格式(LittleEndian)打包ASCII字符:
即第1字符在低位字节(LSBbyte)
表2-2变量显示格式表
用户也可以用”快速观察”按钮来观察某变量.有两种操作方法:
(1)在调试窗口中双击选中需要观察的变量,使其反白.点击调试工具条上的”快速观察”按钮.
(2)选中需要观察的变量后,右键单击从关联莱单中选择”QuickWatch”菜单.
操作完成后,在弹出对话框中单击”AddWatch”按钮,即可将变量加入到观察窗口变量列表中.
六、数据输入与结果分析
在开发应用程序时,常常需要使用外部数据.例如,用户为了验证某个算法的正确性,需要输入原始数据,DSP程序处理完后,需要对输出结果进行分析.CCS提供了两种方法来调用和输出数据.
(1)利用数据读入/写出功能.即调用命令”File→Data(Load/Save)”.这种方式适用于偶尔的、手工读入和写出数据场合.
(2)利用探针(Probe)功能.即设置探针,通过将探针与外部文件关联起来读入和写出数据.这种方式适用于自动调入和输出数据场合.
一)载入/保存数据
“载入/保存数据”功能允许用户在程序执行的任何时刻从外部文件中读入数据或保存数据到文件中.需要注意的是,载入数据的变量应当是预先被定义并且有效的.
1.载入外部数据
程序执行到适当时候,需要向某变量定义的缓冲区载入数据时,选择命令File→Data→Load命令,弹出文件载入对话框,选择预先准备好的数据文件(文件的格式应遵循2.2.10.3规定).此后,弹出一对话框如图所示.”Address”栏和”Length”栏已被文件头信息自动填入.用户可以在对话栏中重新指定变量名(或缓冲区首地址)和数据文件长度.
2.保存数据到文件中
程序执行到适当时候需要保存某缓冲区时,选择命令File→Data→Store,弹出一对话框要求给出输出文件名.完成后,弹出一”StoreMemoryintoFile”对话框.输人需要保存变量名(或数据块首地址)和长度,单击”OK”按钮即可.
二)外部文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CCS 使用
![提示](https://static.bingdoc.com/images/bang_tan.gif)