建筑工程管理CCS工程文件的建立与调试以为例.docx
《建筑工程管理CCS工程文件的建立与调试以为例.docx》由会员分享,可在线阅读,更多相关《建筑工程管理CCS工程文件的建立与调试以为例.docx(8页珍藏版)》请在冰豆网上搜索。
建筑工程管理CCS工程文件的建立与调试以为例
(建筑工程管理)CCS工程文件的建立与调试(以V为例)
实验名称
工程文件的建立和调试(以Volume为例)
指导教师
赵成
实验时间
2011/04/30
实验教室
东实B404
实验类型
设计
实验学时
2h
一、实验目的
1.掌握CCS集成开发环境下工程的建立方法
2.掌握DSP工程中文件的添加方法
3.掌握CCS集成开发环境下代码的查见方法
4.掌握CCS集成开发环境下工程的编译和运行
5.能够修改程序选项和纠正语法错误
6.学会使用观察窗口观察structure变量
7.掌握为I/O文件增加探针的方法
8.学会使用显示图形工具,能够执行程序且绘制图形
二、实验设备
硬件:
微型计算机PentiumV之上
EL-DSP-EXPIVDSP教学实验系统(可选)
软件:
操作系统WindowsXP
CodeComposerStudio集成开发环境
三、实验过程及关键步骤记录
一、创建工程文件
(1)启动CodeComposerStudiov2.20。
双击桌面上的CCS2(‘C2000)快捷方式,启动CCS集成开发环境。
(2)于c:
\ti\myprojects目录下建立文件夹volume。
(3)将c:
\ti\tutorial\sim28xx\volume1目录中的volume.c文件、volume.h文件、volume.cmd文件、volume.gel文件、load.asm文件、sine.dat文件及vectors.asm文件拷贝到上述新文件夹。
(4)选择菜单“Project”的“New…”项,弹出如下图所示的创建工程文件的对话框,且依照如下步骤创建工程。
步骤:
①工程命名为volume
②单击此按钮,选择工程所于目录为c:
\ti\myprojects\volume
③单击完成设置
二、向工程添加文件
(1)选择菜单“Project”的“AddFilestoProject…”项;于“AddFilestoProject”对话框中选择文件目录为c:
\ti\myprojects\volume,选择显示出来的文件“volume.c”且点击“打开”按钮。
(2)选择菜单“Project”的“AddFilestoProject…”项,于文件类型框中选择“AsmSourceFiles(*.a*;*.s*)”,选择显示出来的文件“vectors.asm”和“load.asm”,且点击“打开”按钮。
Vectors.asm文件包含了设置跳转到该程序的C入口点的RESET中断(c_int00)所需的汇编指令。
(对于更复杂的程序,可于vector.asm文件定义附加的中断向量。
)
(3)选择菜单“Project”的“AddFilestoProject…”项,于文件类型框中选择“LinkerCommandFile(*.cmd;*.lcf)”,选择显示出来的文件“volume.cmd”且点击“打开”按钮。
volume.cmd文件包含程序段到存储器的映射。
(4)选择菜单“Project”的“AddFilestoProject…”项,进入编译库文件夹(C:
\ti\c2000\cgtools\lib)。
于文件类型框中选择“ObjectandLibraryFiles(*.o*;*.l*)”,选择显示出来的文件“rts2800_ml.lib”且点击“打开”按钮。
该库文件对目标系统DSP提供运行支持。
(5)点击紧挨着Project、volume.pjt、Libraries和Source旁边的符号+展开Project表,它称之为“工程管理窗口(ProjectView)”,如下图所示
三、查见源代码
于ProjectView窗口中双击volume.c文件,源程序就显示于CCS窗口的右边。
源代码如下表所示:
#include
#include"volume.h"
/*全局变量声明*/
intinp_buffer[BUFSIZE];/*数据缓冲*/
intout_buffer[BUFSIZE];
intgain=MINGAIN;/*音量控制增益*/
unsignedintprocessingLoad=BASELOAD;/*当前处理程序加载值*/
structPARMSstr=
{
2934,
9432,
213,
9432,
&str
};
/*函数原型声明*/
externvoidload(unsignedintloadValue);
staticintprocessing(int*input,int*output);
staticvoiddataIO(void);
/*========main========*/
voidmain()
{
int*input=&inp_buffer[0];
int*output=&out_buffer[0];
puts("volumeexamplestarted\n");
/*无限循环*/
while(TRUE)
{
/*使用探针断点从外部主机文件上读取数据且显示输出数据的图形*/
dataIO();
#ifdefFILEIO
puts("beginprocessing")/*故意设置的语法错误*/
#endif
/*应用增益处理*/
processing(input,output);
}
}
/*========processing========*/
staticintprocessing(int*input,int*output)
{
intsize=BUFSIZE;
while(size--){
*output++=*input++*gain;
}
/*additionalprocessingload*/
load(processingLoad);
return(TRUE);
}
/*========dataIO========*/
staticvoiddataIO()
{
/*数据I/O*/
return;
}
四、编译和运行程序
(1)编译链接工程。
选择菜单“Project”的“RebuildAll”项,或单击工具条中的按钮。
编译过程中CCS主窗口下部“Build”提示窗中显示编译信息且给出错误和警告的统计数。
(2)下载程序。
执行FileLoadProgram,于随后打开的对话框中选择刚刚建立的C:
\ti\myprojects\volume\Debug\volume.out文件,点击“打开”按钮。
(3)点击Disassembly窗口中壹条汇编指令(点击指令,而不是点击指令的地址或空白区域)。
按F1键,CCS将搜索有关那条指令的帮助信息,这使用用户便于获得不熟悉汇编指令帮助信息。
(4)运行程序。
于执行C语言的程序时,为了快速地运行到主函数调试自己的代码,能够先使用DebugGomain命令,然后点击工具栏按钮或选择Debug→Run。
出现如右图所示信息:
。
五、修改程序选项和纠正语法错误
(1)点击选择“Project→BuildOptions…”。
(2)从“BuildOptionsforvolume.pjt”窗口的Compiler栏的Category列表中选择Preprocessor。
于“DefineSymbles”框中键入FILEIO且按Tab键。
如下图所示
(3)点击(RebuildAll)工具栏按钮或选择“Project→RebuildAll”。
(4)窗口底部的编译信息输出区出现壹条编译错误的消息,大致意思是提示于volume.c文件中的第68行有语法错误。
如下图所示
(5)双击描述语法错误位置的红色文字。
光标会落于volume.c源文件的第68行上,查见附近代码,发现“puts("beginprocessing")”句末少了分号。
(6)修改语法错误
(7)将所作的改变存入volume.c文件中。
(8)点击(IncrementalBuild))工具栏按钮或选择“Project→Build”,CCS重新编译已被更新的文件。
六、使用观察窗口观察structure变量
(1)执行“ViewWatchWindow”打开观察窗口。
(2)于volume.c中,用鼠标双击壹个变量(比如gain),再单击鼠标右键,选择“QuickWatch”,CCS将打开QuickWatch窗口且显示选中的变量。
(3)于volume.c中,选中变量gain,单击鼠标右键,选择“AddtoWatchWindow”,CCS将把变量添加到观察窗口且显示选中的变量值。
(4)于观察窗口中双击变量,则弹出修改变量窗口。
此时,能够于这个窗口中改变变量的值。
(5)把str变量加到观察窗口中,显示着+str={…}的壹行出当下观察窗口中,如下图所示,“+”符号表示这是壹个结构。
类型为PARMS的结构被声明为全局变量,且于volume.c文件中初始化。
结构类型于volume.h中定义。
(6)点击变量左边的“+”,观察窗口能够展开结构变量,且且显示结构变量的所有元素以及它们的值。
七、为I/O文件增加探针(测试点)
(1)点击工具栏按钮或选择“Project→RebuildAll”。
(2)选择“File→LodeProgram…”且选取“volume.out”,然后点击Open。
(3)于ProjectView窗口中,双击“volume.c”文件。
(4)将光标置于主函数中的dataIO()这壹行上。
(5)单击工具按钮(ToggleProbePoint),选择边区标出壹个菱形小蓝点,标示探针已经设置。
(6)从File菜单选择“FileI/O…”,于弹出的FileI/O对话窗中可选择输入和输出文件。
(7)于FileInput标签下,单击“AddFile”。
(8)浏览到建立的volume工程文件夹且选择sine.dat,单击“Open”按钮。
(可于文件类型项目下选择数据文件格式。
sine.dat文件包含了壹个正弦波形的16进制数值)接着出现了sine.dat的控制窗口。
当执行程序时,可利用该控制窗口来于数据文件中作开始、停止、回卷、快进操作。
如下图所示
(9)于FileI/O对话框中,改变“Address”为“inp_buffer”,修改“Length”为100,且选中“WrapAround”框,如下图所示。
(10)单击“AddProbePoint”按钮,使得Break/ProbePoints对话框中的ProbePoints标签出现。
(11)于ProbePoint列表中,单击“volume.cline61→NoConnection”行使之高亮显示。
(12)于ConnectTo域,单击下拉箭头且从列表中文件选择sine.dat。
(13)单击Replace,这样ProbePoint列表将显示为探针和文件sine.dat已经连接。
单击“确定”。
(14)于FileI/O对话框,单击“确定”退出FileI/O对话框。
八、显示图形
(1)选菜单View→Graph→Time/Frequency。
(2)于GraphPropertyDialog对话框中,修改GraphTitle为InputBuffer,StartAddress为inp_buffer,AcquisitionBufferSize为100,DisplayDataSize为100,DSPDataType为16-bitsignedinteger,Autoscale为Off,MaximumY-value为1000。
(3)单击“OK”按钮,显示InputBuffer数据的壹个图形窗口就出现了。
(4)于上述窗中右击鼠标,从弹出的菜单中选择ClearDisplay。
(5)再次选菜单View→Graph→Time/Frequency。
将GraphTitle修改为OutputBuffer,且将StartAddress修改为out_buffer,其余的设置均不变。
(6)点击“OK”按钮,又出现壹个图形窗,于该图形窗内右击鼠标,从弹出的菜单中选择ClearDisplay。
九、执行程序和绘制图形
(1)于C源程序volume.c窗口中,将光标放置于dataIO行。
(2)点击(ToggleBreakpoint)工具栏按钮或按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文件增加探针的方法。
7.CCS集成开发环境使用复杂,根据《实验手册》指导,壹步步得出实验结果获得壹定的成就感。
理论知识于仿真模拟中得到验证激发了自己对DSPs芯片的开发和应用过程的兴趣
五、思考题
1.于调试程序时,要使用Debug菜单下的哪些工具?
Debug菜单的“ProbePoints…”,“Run”,“Animate”,“GoMain”等壹些工具。
2.如何添加断点?
将光标放置于需要加断点的那壹行,点击(ToggleBreakpoint)工具栏按钮或按F9添加断点。
3.于单步调试时,F8和F12键的作用有什么不同?
F12(Animate)使目标系统应用程序壹直运行到断点,随后目标系统应用程序暂停且刷新窗口。
Animate命令恢复目标系统应用程序运行到下壹个断点,而且此过程是连续的,直到目标系统被人工停止。
F8(StepInto)于人工的控制下单步运行。
成绩
批阅人
日期