CCS工程文件的建立与调试

CCS工程文件的建立与调试
CCS工程文件的建立与调试

二、向工程添加文件

(1)选择菜单“Project”的“Add Files to Project…”项;在“Add Files to Project”对话框中选择文件名目为c:\ti\myprojects\volume,选择显示出来的文件“volume.c”并点击“打开”按钮。

(2)选择菜单“Project”的“Add Files to Project…”项,在文件类型框中选择“Asm Source Files (*.a*;*.s*)”,选择显示出来的文件“vectors.asm”与“load.asm”,并点击“打开”按钮。Vectors.asm文件包含了设置跳转到该程序的C入口点的RESET 中断(c_int00)所需的汇编指令。(关于更复杂的程序,可在vector.asm文件定义附加的中断向量。)

(3)选择菜单“Project”的“Add Files to Project…”项,在文件类型框中选择“Linker Command File (* d;*.lcf)”,选择显示出来的文件“volume d”并点击“打开”按钮。volume d文件包含程序段到储备器的映射。

(4)选择菜单“Project”的“Add Files to Project…”项,进入编译库文件夹(C:\ti\c2000\cgtools\lib)。在文件类型框中选择“Object and Library Files (*.o*;*.l*)”,选择显示出来的文件“rts2800_ml.lib”并点击“打开”按钮。该库文件对目标系统DSP提供运行支持。

(5)点击紧挨着Project、volume.pjt、Libraries和Source旁边的符号+展开Project 表,它称之为“工程治理窗口(Project View)”,如下图所示

三、查看源代码

在Project View窗口中双击volume.c文件,源程序就显示在CCS窗口的右边。

源代码如下表所示:

#include

#include "volume.h"

/* 全局变量声明*/

int inp_buffer[BUFSIZE]; /* 数据缓冲*/

int out_buffer[BUFSIZE];

int gain = MINGAIN; /* 音量操纵增益*/ unsigned int processingLoad = BASELOAD; /* 当前处理程序加载值*/ struct PARMS str =

{

2934,

9432,

213,

9432,

&str

};

/* 函数原型声明*/

extern void load(unsigned int loadValue);

static int processing(int *input, int *output);

static void dataIO(void);

/* ======== main ======== */

void main()

{

int *input = &inp_buffer[0];

int *output = &out_buffer[0];

puts("volume example started\n");

/* 无限循环*/

while(TRUE)

{

/* 使用探针断点从外部主机文件上读取数据并显示输出数据的图形*/ dataIO();

#ifdef FILEIO

puts("begin processing") /* 有意设置的语法错误*/

#endif

/* 应用增益处理*/

processing(input, output);

}

}

/* ======== processing ======== */

static int processing(int *input, int *output)

{

int size = BUFSIZE;

while(size--){

*output++ = *input++ * gain;

}

/* additional processing load */

load(processingLoad);

return(TRUE);

}

/* ======== dataIO ======== */

static void dataIO()

{

/* 数据I/O */

return;

}

四、编译和运行程序

(1)编译链接工程。选择菜单“Project”的“Rebuild All”项,或单击工具条中的按钮。编译过程中CCS主窗口下部“Build”提示窗中显示编译信息并给出错误和警告的统计数。

(2)下载程序。执行File→Load Program,在随后打开的对话框中选择刚刚建立的C:\ti\myprojects\volume\Debug\volume.out文件,点击“打开”按钮。

(3)点击Disassembly窗口中一条汇编指令(点击指令,而不是点击指令的地址或空白区域)。按F1键,CCS将搜索有关那条指令的关心信息,这使用用户便于获得不熟悉汇编指令关心信息。

(4)运行程序。在执行C语言的程序时,为了快速地运行到主函数调试自己的代码,能够先使用Debug→Go main命令,然后点击工具栏按钮或选择Debug→Run。

显现如右图所示信息:。

五、修改程序选项和纠正语法错误

(1)点击选择“Project→Build Options…”。

(2)从“Build Options for volume.pjt”窗口的Compiler栏的Category列表中选择Preprocessor。在“Define Symbles”框中键入FILEIO并按Tab键。如下图所示

(3)点击(Rebuild All) 工具栏按钮或选择“Project→Rebuild All”。

(4)窗口底部的编译信息输出区显现一条编译错误的消息,大致意思是提示在volume.c文件中的第68行有语法错误。如下图所示

(5)双击描述语法错误位置的红色文字。光标会落在volume.c源文件的第68行上,查看邻近代码,发觉“puts("begin processing")”句末少了分号。

(6)修改语法错误

(7)将所作的改变存入volume.c文件中。

(8)点击(Incremental Build))工具栏按钮或选择“Project→Build”,CCS重新编译已被更新的文件。

六、使用观看窗口观看structure变量

(1)执行“View Watch Window”打开观看窗口。

(2)在volume.c中,用鼠标双击一个变量(比如gain),再单击鼠标右键,选择“Quick Watch”,CCS将打开Quick Watch窗口并显示选中的变量。

(3)在volume.c中,选中变量gain,单击鼠标右键,选择“Add to Watch Window”,CCS将把变量添加到观看窗口并显示选中的变量值。

(4)在观看窗口中双击变量,则弹出修改变量窗口。现在,能够在那个窗口中改变变量的值。

(5)把str变量加到观看窗口中,显示着+str={…}的一行显现在观看窗口中,如下图所示,“+”符号表示这是一个结构。类型为PARMS的结构被声明为全局变量,并在volume.c文件中初始化。结构类型在volume.h中定义。

(6)点击变量左边的“+”,观看窗口能够展开结构变量,同时显示结构变量的所有元素以及它们的值。

七、为I/O文件增加探针(测试点)

(1)点击工具栏按钮或选择“Project→Rebuild All”。

(2)选择“File→Lode Pro gram…”并选取“volume.out”,然后点击Open。

(3)在Project View窗口中,双击“volume.c”文件。

(4)将光标置于主函数中的dataIO( )这一行上。

(5)单击工具按钮(Toggle Probe Point),选择边区标出一个菱形小蓝点,标示探针差不多设置。

(6)从File菜单选择“File I/O…”,在弹出的File I/O对话窗中可选择输入和输出文件。

(7)在File Input标签下,单击“Add File”。

(8)扫瞄到建立的volume工程文件夹并选择sine.dat,单击“Open”按钮。(可在

文件类型项目下选择数据文件格式。sine.dat文件包含了一个正弦波形的16进制数值)接着显现了sine.dat的操纵窗口。当执行程序时,可利用该操纵窗口来在数据文件中作开始、停止、回卷、快进操作。如下图所示

(9)在File I/O对话框中,改变“Address”为“inp_buffer”,修改“Length”为100,并选中“Wrap Around”框,如下图所示。

(10)单击“Add Probe Point”按钮,使得Break/Probe Points对话框中的Probe Points 标签显现。

(11)在Probe Point列表中,单击“volume.c line 61→No Connection”行使之高亮显示。

(12)在Connect To域,单击下拉箭头并从列表中文件选择sine.dat。

(13)单击Replace,如此Probe Point列表将显示为探针与文件sine.dat差不多连接。单击“确定”。

(14)在File I/O对话框,单击“确定”退出File I/O对话框。

八、显示图形

(1)选菜单View→Graph→Time/Frequency。

(2)在Graph Property Dialog对话框中,修改Graph Title为Input Buffer,Start Address为inp_buffer,Acquisition Buffer Size为100,Display Data Size为100,DSP Data Type为16-bit signed integer,Autoscale为Off,Maximum Y-value为1000。

(3)单击“OK”按钮,显示Input Buffer数据的一个图形窗口就显现了。

(4)在上述窗中右击鼠标,从弹出的菜单中选择Clear Display。

(5)再次选菜单View→Graph→Time/Frequency。将Graph Title修改为Output

Buffer,并将Start Address修改为out_buffer,其余的设置都不变。

(6)点击“OK”按钮,又显现一个图形窗,在该图形窗内右击鼠标,从弹出的菜

单中选择Clear Display。

九、执行程序和绘制图形

(1)在C源程序volume.c窗口中,将光标放置在dataIO行。

(2)点击(Toggle Breakpoint)工具栏按钮或按F9,该行显示为红色和蓝色

高亮,说明在这一行差不多设置了断点和探针。

(3)重新安排窗口以便能同时能看到这两个图形。

(4)按F12运行程序。结果如下图所示。

(5)注意每个图形包含2.5个周期的正弦波形,且在程序运行过程中两个图形反

向。每次到达探测点时,CCS从sine.dat文件中得到100个值,再将这100个值写

入inp_buffer地址。

四、实验分析及心得体会

1.学习并把握了CCS集成开发环境下工程的建立方法。

2.学会了向DSP工程添加文件的方法。

3.了解并把握了如何在CCS集成开发环境下查看程序源代码。

4.把握了CCS集成开发环境下工程的编译与运行形式,学会了使用显示图形工具,执

行程序,绘制图形。

5.学会了如何修改程序选项、纠正语法错误,如何使用观看窗口观看structure变量。

6. 把握了为I/O文件增加探针的方法。

https://www.360docs.net/doc/4c3236467.html,S集成开发环境使用复杂,依照《实验手册》指导,一步步得出实验结果获得一定

的成就感。理论知识在仿真模拟中得到验证激发了自己对DSPs芯片的开发与应用过程的爱好

五、摸索题

1.在调试程序时,要使用Debug菜单下的哪些工具?

Debug菜单的“Probe Points…”,“Run”,“Animate”,“Go Main”等一些工具。

2.如何添加断点?

将光标放置在需要加断点的那一行,点击(Toggle Breakpoint)工具栏按钮或按F9添加断点。

3.在单步调试时,F8与F12键的作用有什么不同?

F12(Animate)使目标系统应用程序一直运行到断点,随后目标系统应用程序暂停并刷新窗口。Animate命令复原目标系统应用程序运行到下一个断点,而且此过程是连续的,直到目标系统被人工停止。F8(Step Into)在人工的操纵下单步运行。

成绩批阅人日期

相关主题
相关文档
最新文档