版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DSP实验室实验一 CCS使用和调试实验1适用对象: CCS 初学者 功用: 在CCS IDE 模块中开发一个简单的程序。2 开发一个简单的程序 学习如何建立简单程序学习基本调试技术理解CCS、如何开发更容易工程名称:volume1 建立新工程任务:建立CCS工程,向工程中添加源代码文件和库。 3学习目的:(也注意如何在进程中获取帮助)新建一个工程(project) 向工程中添加文件 复习代码 编译和运行程序 利用编译选择对话框改变编译选择 使用编译器确定代码错误 基本调试技术 断点(breakpoints) 观察窗口(watch windows)文件I/O4建立一个新工程,并向工程中添加源代
2、码文件和库。 1、在c:timyprojects中建立文件夹 volume1(如果CCS安装在其他d:ti ,则在d:timyprojects中。) 2、将c:titutorialtargetvolume1拷贝到c:timyprojects volume1 。 3、从在CCS 中的Project 菜单,选择 New。4、在Project Name域中,键入volume1 5在Location区域中,浏览步骤1所建立的工作文件夹。6在Project Type 域中,选择Executable (.out)。7在Target域中,选择CCS配置的目标,并单击完成。5CCS6Project/New7向
3、工程中添加文件 1、从Project/Add Files to Project,选择 volume.c ,单击 Open. (或右击Project View图标,选择Add Files to Project )2选择Project/Add Files to Project, 在Files of type对话框中,选择Asm Source Files (*.a*, *.s*)。选择vectors.asm 和 load.asm, 单击Open。 3选择 Project/Add Files to Project, 在Files of type 对话框中选择 Linker Command File (
4、*.cmd) ,选择volume.cmd,单击Open。 (这个文件将片段映射到存储器中)84选择Project/Add Files to Project, 到编辑器库文件夹(C:tic5400cgtoolslib),在Files of type对话框中选择Object and Library Files (*.o*, *.lib)。选择rts.lib文件,单击Open。 这个库提供目标DSP 运行时间支持(runtime-support)。 5、Project View窗口,右击volume1.pjt,选择Scan All Dependencies. volume.h将出现在Project
5、View窗中的Libraries文件夹。 6、 单击 volume1.pjt上的 + 号,展开工程列表。 这个列表称为Project View. 头文件不要手动添加,自动到:当前目录(源文件所在)或预编译器的“include Search Path (-i)”option所指定的位置。显示头文件:Projectshow Dependencies. 9Project view10查看源程序代码 双击Project View中 volume.c文件,CCS窗口的右半窗中出现C源代码。 volume.c 简介:主程序打印一个信息,然后进入无限循环。在这个循环中,调用dataIO和进程函数。在输入缓冲
6、区中,处理函数将每个值乘以增益,并将结果放到输出缓冲区。它也调用汇编加载过程,此过程消耗基于将processingLoad值传递到过程的指令周期。例子中的dataIO函数不作任何处理,仅仅返回。除了使用C代码执行I/O,我们将使用CCS中的Probe Point,从主机的文件中读取数据到 inp_buffer区域。11编译与运行程序 选择Project/Rebuild All或单击(Rebuild All)菜单条按钮,CCS重新进行编辑、汇编、连接工程里的所有文件。 这个处理的有关信息在窗口低部一个小框里显示。 默认时,.out文件编译到位于当前工程文件夹中的调试(debug)目录中 也可以通
7、过CCS工具条选择一个存储目录。 选择File/Load Program.选中volume1.out,并按Open。( c:timyprojectsvolume1Debug 文件夹中。) CCS将程序装载到目标DSP上,打开显示程序反汇编指令的 Disassembly窗口。 12选择View/Mixed Source/ASM. 这样可以同时查看C源程序和产生的汇编代码。 在混合窗口单击汇编指令(单击有效指令,而不是指令的地址或指令所传递的区域),单击F1,CCS可以寻找此指令的帮助。 这是学习指令的很好的方法。 选择Debug/Go Main。 从主程序开始执行。 选择Debug/Run或单击
8、(Run)按钮。 选择Debug/ Halt,退出程序运行。 13.从View菜单,选择Mixed Source/ASM.。允许无须汇编而查看C代码,所以你可以完成下一个任务: 更改程序的选择、定位语法错误。 14更改程序选择,定位语法错误 在前一节,含在预处理器命令中的程序的部分(#ifdef 和 #endif)不执行,因为FILEIO未定义。这一节,你可以使用CCS设置预处理器选择,学会并纠正语法错误。 选择Project/Build Options.在Build Options窗口的Compiler上,选择Category列表的Preprocessor,在Define Symbols区域
9、键入FILEIO,按Tab键。 15Build Options for Volume1.pjt16单击OK,保存新的选择设置。 选择Project/Rebuild All或单击(Rebuild All)按钮。 只要工程选择更改,则必须重新编译所有的文件。 . 编译信息显示,程序包含编辑错误。 单击Build,你可以看见语法错误信息。176、 双击描述语法错误位置的红色文字(第68行) 注意volume.c源程序已打开,且光标位于下面的行上: processing(input, output); 7、语法 错误位于光标位置的上一行(丢了个分号), 如: puts(begin processing
10、); 8注意, Edit窗口标题栏中的文件名附近出现星号(*),指示源程序已经被修改,文件保存后,星号消失。 189选择File/Save,或按Ctrl+S,将更改保存到volume.c. 10选择Project/Build,或 (Incremental Build)单击工具条, CCS重新编译已经修改的文件。 11选择File/Load Program, 选中volume1.out. 12选择Debug/Go Main,从主函数开始执行。 由 执行可以暂停。 13选择Debug/Run或 (Run)单击菜单条。 14选择 Debug/Halt,退出程序运行。 19使用断点(Breakpoin
11、ts)和观察窗口(Watch Window) 程序执行时常常需要检查变量的值 1、File/Reload Program. 2、双击Project View 窗中的volume.c。 可以将窗口变大,看到更多的源代码。 3、将光标放在 dataIO( ); 4、单击 (Toggle Breakpoint)工具条,或按F9。 选择空白区指示 断点已经设置(红色图标)。 205选择View/Watch Window,在CCS窗口的右下角出现单个区域,同时,这个区域显示观察变量的值。 6、如果不在主程序,选择Debug/Go Main. 7选择Debug/Run,或按F5,或按图标 。 8、 选择W
12、atch1 9 单击Name栏中表达式图标 ,键入要观察的变量 名dataIO。2110、单击观察窗口中的白色区域,保存更改。 这个值将立即出现在下面的例子中。11 、单击 (Step Over)或按F10,跨过对dataIO()的调用。 Step Into (F8)Step Over (F10)Step Out (Shift F7) Run to Cursor (Ctrl F10) 12、完成后,单击 (Remove All Breakpoints),再继续下面的学习。22使用带结构的Watch Window除了观察简单变量的值,也可以观察一个结构的元素的值。 1、选择Watch1 2、单击
13、Name栏中的表达式图标 ,键入要观察表达式名称str。3、单击观察窗口中的白色空间,保存更改。 数值将立即出现在下面的例子中。 234、从Reviewing the Source Code调出 volume.c中全局申明、并初始化的类型为PARMS的结构。 volume.h定义了PARMS的结构类型5、单击str上的+号,CCS将结构中所有元素和元素值。 双击结构中元素的Value,编辑元素的值。 6、在Watch window 中Value栏,更改变量的值。 注意,Watch Window中数值的更改,数值也变为红色, 表示已经手动修改。 7、选择Watch Window 中str变量,按
14、Delete 键。其他变量同理。8、选择Debug/Breakpoints. 在Breakpoints中,单击Delete All,然后单击OK. 24添加探针Probe Point (为了文件I/O) 可以添加探针(Probe Point),从PC机中的文件读数据。按照下面的步骤 使用探针: 从主PC中传递输入数据,到算法所使用的目标的缓冲器中;从目标的缓冲器中传递输出数据,到主PC中; 用数据修改窗口。 25 下面将学习如何使用Probe Point ,将PC文件中的内容,作为测试数据,传递到目标DSP中。 另外,也可以使用断点修改所有打开的窗口。 1、选择File/Load Progra
15、m,选中volume1.out,单击Open。2、双击Project View中的 volume.c 。3、将光标放到主程序中 dataIO(); 4、单击 (Toggle Probe Point)。 选择空白区域指示探针已经设置(兰色图标),如果废止选择区,此行为兰色显亮。 5、从File菜单,选择File I/O。 出现File I/O对话框,因此可以选择输入输出文件。266、在File Input,单击Add File。 7、浏览volume1工程文件夹,选中sine.dat,单击Open。 sine.dat 文件是正弦波的十六进制数值 27 出现sine.dat文件的控制窗口。再后,当
16、运行程序时,可以在数据文件中使用此窗口启动、停止、返回、或快进。 8、在File I/O对话框,更改Address 为inp_buffer,Length为100,在Wrap Around中可以添加选中符号。 28 Address指定从文件中来的数据将放在什么地方。 volume.c申明 inp_buffer为整数矩阵BUFSIZE(volume.h中定义为常量) Length指定每次使用Probe Point 时从数据文件中读多少样本。 这里取100,因为volume.h 设置常量为BUFSIZE (0 x64)。Wrap Around选择引起当其到达文件末尾时,CCS开始从文件开始读。 这允
17、许数据文件被看作为连续的数据流。9、单击Add Probe Point。 出现 Break/Probe Points对话框中的 Probe Points 2910、在 Probe Point列表中,显亮行为: VOLUME.C line 61 - No Connection.11、在Connect To区域中, 单击下箭头,从列表中 选中 sine.dat 3012、单击 Replace。 Probe Point列表改向显示这个Probe Point连接到sine.dat文件。13、单击OK。 File I/O 对话框显示文件现在连接到Probe Point。14、单击OK,关闭File I/
18、O对话框。31显示图形 在这个例子中,可以查看关于时间的信号图形。 1、选择View/Graph/ Time/Frequency。 2、在 Graph Property Dialog对话框,更改Graph Title, Start Address, Acquisition Buffer Size, Display Data Size, DSP Data Type, Autoscale, 和 Maximum Y-value属性,下拉或重新拉大对话框,查看所有属性。323、单击OK。 出现Input Buffer的Input图形窗口。334、右击Input graph窗口,从下拉菜单中选择Clea
19、r Display。5、再次选择View/Graph/ Time/Frequency。6、这次更改Graph Title为Output,Start Address 为out_buffer,所有其他设置都正确。7、单击OK,显示输出图形Output graph窗口,右击Output graph 窗口,从下拉菜单中选择Clear Display。34激活程序和图形 至此,已经放置断点,传递主 PC中的数据,到目标DSP;可暂停目标DSP,或继续目标DSP 应用程序。但是,Probe Point不修改图形。本节建立断点 (breakpoint),修改图形,使用 Animate命令,遇到断点后继续自动执行。1、 在volume.c窗口,将光标放在调用dataIO的行上。2、单击 (Toggle Breakpoint),或按F9,选中空白区域放置红色图标,代表断点。35 将断点breakpoin和探测点Probe Point放在同一行,这样传递数据和修改图形时目标只须暂停一次。 3、调整窗口,使得两个窗口都可以看见。5、每遇到探测点Probe Point一次,CCS就从sine.dat文件获得100个数值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络直播平台内容版权合同
- 网络游戏角色授权使用协议
- 网络游戏开发与运营规范
- 2024年专业美容人员劳动协议模板
- 高蛋白薯片的课程设计
- 知识产权保护和管理平台研发与应用合同
- 餐饮业购销协议精简2024年
- 牙膏行业品牌推广合同
- 智能财务管理系统设计与实施服务合同
- 2024年寄售销售及采购协议
- XX公司安全生产风险管控与隐患排查双重预防管理体系手册
- 酒店住宿水单模板-皇冠假日
- 人教版语文必修1:雨巷-共44张课件
- 一片叶子落下来课件
- 4.3 积极践行社会主义核心价值观
- 2023年初级出版资格证考试:初级出版理论与实务历年真题汇编(共476题)
- 蔚来用户运营分析报告-数字化
- (2024年)互联网营销师培训
- 药业有限公司洗眼液生产及滴眼液扩产项目环评可研资料环境影响
- TCAPC 014-2023 零售药店经营银屑病治疗药品药学服务规范
- 冷库安装施工方案
评论
0/150
提交评论