DSP实验指导书(DSP处理器原理与应用)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一:DSP软件集成开发环境CCS
一. 实验目的
1.了解DSP 软件开发集成环境Code Composer Studio (CCS) 的安装和配置过程;
2.熟悉并掌握CCS 的操作环境和基本功能,了解DSP软件开发的一般流程:
(1) 学习创建工程和管理工程的方法;
(2) 了解工程文件和映像文件的基本内容;
(3) 了解基本的编译和调试功能;
(4) 学习使用观察窗口。
二. 实验设备
计算机、Code Composer Studio 2.2 或以上版本
三. 背景知识
1.DSP 应用系统开发一般需要借助以下调试工具:
―软件集成开发环境(CCS):完成系统的软件开发,进行软件和硬件仿真调试;
―硬件开发及测试平台:实现系统的硬件仿真与调试,包括仿真器和评估模块。
S 集成了适用于所有TI 器件的源码编辑、编译链接、代码性能评估、调试仿真等功能,为
设计人员提供了一个完整的嵌入式系统软件开发环境。
3.系统软件部分可以通过CCS 建立的工程文件进行管理,工程文件一般包含以下几种文件:
―源程序文件:C 语言或汇编语言文件(*.ASM 或*.C)
―头文件(*.H)
―命令文件(*.CMD)
―库文件(*.LIB, *.OBJ)
四. 实验步骤
1.创建工程文件
双击CCStudio 图标,启动CCS,CCS 的初始界面包括工程管理区和工作区两部分。
在菜单中选择“Project—>New…”,弹出“Project Create”窗口:
若标题栏显示xxxx Emulator,
则需要先运行Setup CCS,
选择合适的软件仿真环境
在“Project”编辑框内填入项目名称,例如“hello1”;有必要的话,可以更改项目文件夹位置(Location);“Project”下拉框用以确定输出文件类型;目标硬件类型在“Target”下拉框中指定。
点击“完成”后,CCS 自动在指定目录下生成“hello1.pjt”工程文件。工程文件中保存了对应工程的设置信息和内部文件的引用情况。展开工程管理窗口“Projects”下的“hello1.pjt”,可以看到所有项目均为空。
任务1:在notepad 中打开“hello1.pjt”,了解并记录工程文件提供的设置信息
2.在工程文件中添加程序文件
选择Files -->new --> Source File,在编辑窗内输入以下源程序:
#include
void main(void)
{
printf("Hello world!\n");
}
将该文件命名为“hello1.c”,保存到工程文件夹下。选择“Project --> Add Files to Project...”,或右键点击工程管理区的“Scource”标签选择“Add Files to Project...”,将该文件添加到本工程。点击“Source”标签左边的“+”,可以看到新加入的源文件。
3.编译和链接
选择“Project-->Build/Rebuild all”,或单击工具栏中的相应按钮,启动编译、汇编和链接过程。主窗口下部的“Output”提示窗会实时显示编译信息。若无错误,将生成可执行.out 文件。
本工程文件链接出错,提示信息为“符号_printf 未做定义”。错误原因是没有在工程中加入正确的库文件。涉及到标准库函数调用的C语言源程序必须包含TI公司提供的“rts.lib”库文件。该文件位于安装目录下的\Cxxxx\cgtools\lib子目录,例如,C:\CCS\C5400\cgtools\lib。按照前述步骤将该库文件添加到工程文件的“Libraries”标签下,重新编译链接,顺利通过,但仍然有警告信息。
除直接添加库文件外,还可以通过修改链接参数引入库文件。在工程管理窗中右键点击工程文件名,选择”Build Options”,将”Linker--> Libraries --> Inc. Libraries (-l)”设置为”rts.lib”。
4.运行程序
选择“File --> Load Program…”,将链接生成的.out文件加载到目标DSP;此时CCS会自动打开反汇编窗口,并在其中显示加载程序的反汇编指令。注意:保险起见,每次加载或重新加载可执行文件前,请先重置CPU,方法是选择“Debug-->Reset CPU”。
选择“View --> Registers --> CPU Registers”,打开寄存器窗口。
选择“Debug --> Run”,运行加载程序。运行结果呈现在“Ouput”窗口的“Stdout”标签下。
另外要注意,程序运行前后寄存器内容可能会发生变化,这些寄存器在寄存器窗中用红色字体标示。
任务2:点击“Debug --> Reset CPU”,记录3个状态寄存器的缺省设置,并说明其含义
5.基本调试功能测试
将源程序修改为如下形式:
#include
void main(void)
{
int i=0;
char disp_str[] = "Hello world!\n";
for (i=1; i<=5; i++)
printf("%d. %s", i, disp_str);
}
重新进行编译链接和加载(Rebuild all & Reload program),然后顺序测试或执行下列操作:
1)选择“View-->Watch Window”,或在最左侧的工具栏中选择对应按钮,打开变量观察窗;
2)在编辑窗中,双击以选中某一变量,再单击右键,选择“Quick Watch”,可打开“Quick Watch”
窗口,可以在该窗口内显示或修改变量属性;
3)在编辑窗中,双击以选中某一变量,再单击右键,选择“Add to Watch Window”,把该变
量添加到变量观察窗,可以在该窗口内显示或修改变量属性;将变量i 和disp_str 添加到
变量观察窗;
4)在printf 调用之前设置断点,方法为:将光标移动至目标行,按F9 (注意:CCS 版本不同,
快捷键及菜单设置也不同),或点击右键选择“Toggle Breakpoint”(双击编辑窗左边的灰色
控制条也可以设置或删除断点);
5)选择“Debug --> Run”,或按F5,运行程序;程序会自动停在断点处;再按F5,或选择“Debug
--> Run”,程序会继续运行至下一个断点;
6)调试过程中,在变量观察窗口中双击某个变量的变量值,可对其进行修改,例如,改变i 的
值可以改变重复次数,改变disp_str 可以改变输出内容。
任务3:按上述步骤,设置断点,添加观察变量;当i = 2 时,修改变量值,令i= 0,disp_str =“Hello DSP!”,记录运行结果
选做任务:选择“Debug-->Run to Cursor”,或按Ctrl+F10,会令程序执行到光标所在行,用这