您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页CCS基本操作实验汇总

CCS基本操作实验汇总

来源:测品娱乐
实验1:CCS基本操作实验

一、实验项目与目的

重点学习CCS中断点、探针、代码剖析器、图形工具、数据追踪与Matlab操作等的使用技巧,练习C语言和汇编语言编程及调试。

二、实验设备

计算机,CC4.1版软件

三、实验内容与步骤 1.CCS设置 双击桌面上的图标,先选择Close,进入如图4。1所示的配置对话框。由于本实验采用软件仿真器(Simulator)进行软件仿真,因此应从Available Board/Simulator Types列表栏中选择C2xx Simulator,在C2xx Simulator上单击右键,选择Add to System。然后单击Finish即可。注意:如果要从另一种平台(例如Sdgo2xx)中转变为C2xx Simulator平台,应右击System Configuration列表中的该平台,再选择Remove删除,然后才能按照本步骤对CCS进行设置。

图4。1 CCS设置

2.创建新项目文件

(1)在“C:\ic2xx\\myprojects”目录下创建一个名为volume的目录,将本书配套的实验1“exp01_volume”目录下的所有文件复制到该目录下。

(2)双击桌面上的

图标,启动CCS。

(3)在Project菜单下点击New,在出现的项目创建窗口中输入项目文件名称。名称任意,例如“volume”,文件后缀*。mak可省略。

3.向项目中加入文件 (1)在项目文件查看窗口中的volume.mak上单击右键(如图4.2所示),选择Add Files,或者选择Project→Add Files to Project,此时出现如图4。3所示的添加文件窗口,在“文件类型\"中选择要加入的文件的文件类型.将应用程序volume。c(主程序可以是C程序

*.c,也可以是汇编程序 *.asm)、命令链接文件 *。cmd(volume.cmd)等分别加入。如果需要用到中断向量,加入中断向量文件vectors。asm;如果用到了C程序,还需加入实时运行支持库文件rts2xx.lib.

(2)在volume.mak上单击右键(如图4.2所示),选择Scan All Dependencies,将自动为工程添加头文件(*.h)。

图4。2 添加文件1 图4。3 添加文件2

4.浏览代码

和Windows的浏览器相似,只要在项目文件查看窗口中打开“+”号展开下面的文件,然后双击文件(例如volume.c),在主窗口(右半窗口)就会显示相应文件的源程序,出现图4.4,此时可以浏览并检查源程序.如果要删除工程中的文件,只要选定目标文件,单击鼠标右键,选择Remove from project。

图4.4 查看源程序

5.编译、运行程序

(1)选择Project→Rebuilt All或单击工具条中的按钮,CCS将重新编译、链接项目中的所有文件。整个过程的信息将在窗口下方的信息框内显示.如果有错误,就需要检查、修改源程序,然后再重新编译、链接,直到通过编译链接为止。

注意:由于是采用C程序软件仿真,而且程序映射在片内RAM中,因此应该修改链接选项:选择Project→Option→Linker,将C Initialization栏中的选项改为RAM Autoinitialization Model[—cr]。

(2)选择File→Load Program并选中volume。out,这样CCS就把程序加载到目标系统DSP中。

(3)选择Debug→Run或单击工具条中的

按钮,这样程序就可以运行起来。选择Debug

→Halt或单击工具条中的按钮,就可以使程序退出运行状态。 6.跟踪/调试程序

(1)使用断点(Breakpoint)与观察窗口(Watch Window) 当开发和测试一个程序时,经常需要在程序运行过程中检查一个变量的值。这里使用断点与观察窗口来观察这些变量,也可以到达断点后使用step命令.

①在程序退出运行状态下,在项目文件查看窗口中双击volume。c文件; ②将光标移到下面这行:

dataIO();

③单击

或按F9键,此时该行红色高亮显示,表示一个断点已经被设置。

按钮或按F5键,或选择Debug→Run,开始运行。当运行到断点

④单击工具条中的

时停止,直到再次按。如果需要使程序回到main处,选择Debug→Go Main。

⑤选择View→Watch Window,一个单独的窗口将出现在CCS窗口的右下方,如图4.5所示。用鼠标右击该窗口,选择Insert New Expression,在随后出现的窗口中填入要观察的变量的名称,例如input、dataIO等.

图4.5 观察变量

⑥单击

(Step Over)或按F10键单步调用执行指令dataIO().

尝试使用CCS提供的step命令:

➢ ➢ ➢ ➢

Step Into(F8) Step Over(F10) Step Out(shift+F7) Run to Cursor(Ctrl+F10)

⑦结束本练习后,在进行下一个练习前单击(Remove All Breakpoints)按钮,清除所有断点。

(2)加入文件输入/输出探针(Probe Point)

①选择File→Load Program并选中volume.out,再单击Open。 ②在项目文件查看窗口中双击volume.c文件.

③把光标放在主程序(main function)的下面这行:

dataIO();

④单击或按F9键,此时该行蓝色高亮显示,表示一个探点已经被设置。

⑤选择File→File I/O,这时File I/O对话框显示出来,如图4。6所示,从中选择与该探点相关联的输入或输出文件。

图4.6 File I/O对话框 图4。7 sine.dat文件的添加过程(一)

⑥在File Input栏中选择Add File,在随后出现的对话框中选择sine。dat文件并单击Open。

一个关于sine。dat的控制窗口显示出来,如图4.7所示。在此后运行程序时,使用该窗口利用这个数据文件开始、结束、重复、快速向前运行程序。

⑦在File I/O对话框中进行如下设置:

Address设置为inp_buffer,Length设置为100,同时选中Wrap Around。如图4。8所示。

⑧单击Add Probe Point,Break/Probe Points的探点窗口将显示出来,如图4。9所示。在Connect To栏的下拉菜单中选择sine。dat,单击Replace 。Probe Point列表发生变化,显示出探点被连接到sine.dat文件上。

图4。8 sine.dat文件的添加过程(一) 图4。9 指针设置窗口

⑨单击确定,File I/O对话框显示文件已经被连接到探点上。 ⑩单击确定,关闭File I/O对话框。

(3)图形显示

①选View→Graph→Time/Frequency⋯打开图形显示设置窗口。在弹出的对话框中按图4。10设置: “Graph Title\"为Input(也可以是其它名字);“Start Address”为inp_buffer;“Acquisition Buffer Size”和“Display Data Size”均设为100;“DSP Data Type”为16-bit signed integer;想想为什么要这样修改?

图4.10 图形显示设置对话框

②单击OK,会生成一个名为Input图形(显示)窗口。

③在该输入图形窗口中单击右键,并从弹出菜单中选择Clear Display. ④再次选择View→Graph→Time/Frequency⋯,并改变“Graph Title”为Output(也可以是其它名字);“Start Address”为out_buffer,其它设置一律不变。

⑤单击OK,系统显示一个名为Output的图形(显示)窗口,在该输出图形窗口中单击右键,并从弹出菜单中选择Clear Display。

⑥在volume.c源程序窗口中,将光标移到指令所在行,并在此处设置一个断点,即单击(Toggle Breakpoint).此时将探点和断点都放置在同一个命令行上,这就会使得运行操作时(传输数据或刷新图形时目标程序)只暂停一次。

⑦重排窗口可以看到所有的图形。 ⑧单击工具条中的按钮(Animate)或按F12键运行程序.观察Input窗口和Output窗口的变化。如图4.11所示.

图4.11 volume.c程序运行输入输出图形

⑨选择Debug→Halt,使程序退出运行状态. (4)调整增益

方法1:选择View→Watch Window,并将gain作为要观察的变量输入,通过改变gain的取值从而改变增益(请仔细查看源程序,为什么能这样?).

方法2:使用GEL文件.

①选择File→Load GEL,在Load GEL File对话框中选择volume.gel文件。

②选择GEL→Application Control→Gain,弹出如图4。12所示的小窗口,滑动该窗口中的指针,改变gain值。

③单击项目文件查看窗口中GEL文件前的“+”号,然后双击volume.gel文件即可展开并查看volume。gel文件的内容。

图4.12 Gain窗口

7.代码性能评估(Profiler)

CCS可以统计某段代码的执行时间,这被称作剖析(Profile)或称为代码性能评估。设置剖析点(Profile Points)的方法就是:首先在profile菜单中设置Enable Clock,然后再双击volume。c文件,选择菜单Debug→Go Main,接着在主程序中设置两个剖析点,例如在puts(“volume example started \\n”)和dataIO()这两处点击右击,选择Toggle profile points设置这两处为剖析点。再单击Profile下的View Statistics菜单,在右下角出现统计信息窗口。最后运行程序,过一段时间后停止运行程序,观察统计信息窗口.

8.数据追踪与Matlab操作

可将追踪的数据送到Matlab中加以处理后,再以图形显示出来,如下: ①存储追踪的数据:使用上一个程序所建立的数据,在File菜单内的Data下选择Save,再输入文件名(例如sininteger)并选择数据保存的格式(例如将数据保存为整数型,即*。dat(integer)),然后输入被追踪数据的起始地址out_buffer和长度0x0。

②将存储在文件名为sininteger.dat的整数数据文件以记事本(Notepad)打开,加以修改为Sinewave矩阵形式的数据,再贴到Matlab内,最后下达plot(Sinewave)的命令来绘制图形。如表4。1及图4.13所示。

表4.1 将DSP数据转至Matlab绘出图形的步骤 (1)储存的整数数据文件(sininteger.dat) 1651 2 d6b 1 0 150 300 450 . . 。 310 150 Sinewave=[ 0 150 300 450 . 。 。 310 150 ]; Sinewave=[ 0 150 300 450 。 . . 310 150 ]; Plot(Sinewave) Enter (2)矩阵形式的整数数据 (3)Matlab内的数据形式

图4。13 Matlab绘制图形

③如果要将整个波形同时显示出来,可用Hold on 命令加以固定后,再重复上述操作。

四、实验说明

在运行C程序之前,首先必须建立C语言的运行环境。这一任务由C装载程序来完成。装载程序其实就是c_int0函数。运行该函数的方法可以是跳转到该函数,也可以是调用该函数,还可以是将硬件中断的向量入口地址指向c_int0函数,在运行支持库中必须与其它的C目标模块相连接。只要在连接时,使用_c或_cr选项,并将运行支持rts.src作为连接器的输入,c_int0就可以被自动连入.

如果在CC(或CCS)的编译连接过程中出现问题,CC都会给出提示,用户通过阅读提示,寻找问题出现在什么地方.如果是语法上的错误,请查阅相关的语法资料;如果是环境参数设置上有问题,一般应在Project/Option中进行相应的修改(新安装程序时的默认设置,不熟悉的用户最好不要随意修改)。如果是下载过程中出现问题,可以尝试使用Debug/Reset DSP,或者是按硬件上的手动复位键。

课下练习

数据存储实验

exp02a_memory_Emu

F206 dsp的存贮器操作练习,实验程序运行之后,位于数据区地址201H开始的8个单元的数值被复制到了数据区301H开始的8个单元中。

exp02b_memory_Sim

把数据空间从0x0200开始的8个地址空间,填写入0xAAAA的数值,然后读出,并存储到0X0208开始的8个地址空间.试编写该程序,并用软件仿真器(C2xx Simulator)调试、运行程序,查看实验结果.比较软件仿真与硬件仿真在编制、调试程序时的不同点。

exp02c_memory

该程序的功能是将在0200H开始的18个地址填写1111H,然后读出,并存储到1800H开始的18个地址单元中。在CCS中可以观察以上数据存储器空间地址值的变化。

算术运算软件仿真实验

exp03_calculate

将数据存储器305h单元开始的一个多位无符号数与385h单元开始的一个多位无符号数相加(两个数的位数可能不同),结果存在从390h单元开始的数据存储器中.然后将变量X(308h单元的数据)与变量Y(388h单元的数据)相乘,结果存入变量Z(392h单元的数据)中.例如X设为21,Y设为-3,结果Z应该为-63。

重点学习C2xx DSP的算术运算实现方法、CCS中断点的使用技巧,存储器、寄存器的观察方法.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务