DSP实验三实验四.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP实验三实验四

实验、CMD文件和Gel文件的编写 一、实验目的 1. 掌握Gel文件的编写, 2. 熟悉Code Composer Studio的使用 二、实验设备 1. 集成开发环境CCS 2. 实验代码ccs_gel.s54、ccs_gel.cmd和ccs_gel.gel 三、实验内容 1. 建立项目并添加相应文件, DARAM: org=0x2000, len=0x1000改成0x2100则编译后所得到的MAP文件如下图: 分析:比较两者的MAP文件可以发现,当CMD文件中数据段起始地址改变,长度改变的时候,MAP中的映射相应的也发生变化。 2. 了解GEL文件的功能。Gel文件不是DSP开发必须的文件,而是给CCS使用的文件,它帮助设置CCS的仿真环境,而且可以完成一些常用的调试操作,如硬件设置等。Gel文件的编写是采用类似C语言的编程语言观察当前的Gel文件的编写。 3. 使用者如果希望修改其功能,可以直接编写gel文件,并重新装载。Menuitem是一级子菜单,hotmenu是二级子菜单,其中的处理可以直接填写或调用其他的函数。修改Gel文件,添加menuitem和hotmenu menuitem C54x Experiment; hotmenu C5402_Textout() { GEL_TextOut(“Hello,GEL is a solid tool !\n”); } 打开GEL 文件,在其上方添加如上menuitem和hotmenuhotmenu C5402_DSK_Test() /*此功能实现需要用到DSK板,可暂不添加,如做测试,需将此中文注释去掉*/ { *(int *)0x0@io = 0xff07; /* turn on LED */ } 测试其功能。 4. 查询help了解Gel的函数功能。 四、实验结果和提示 1. 当设备被选用后,与其关联的gel文件将被使用,其中的StartUp函数将被调用。可修改其中的内容,如PMST寄存器的数值,并测试。 2. 如果当前CCS中装载了gel文件,那么就会出现相应的菜单项,如图-1所示。 图-1 GEL菜单 3. 添加代码后,重新装载Gel文件将出现新的子菜单,如图-2所示,并测试新菜单的功能。 图2 新的子菜单 ,为第一象限内的弧度值。因为,所以只需将第二,三,四象限内的弧度值转换到第一象限即可计算出相应的正弦函数值。由于有限精度,规定弧度值从,其中=0x7FFF,/2=0x4000,=0x8000。利用级数展开产生正弦波,必须在调用计算子程序之前备份好累加器A中的当前弧度值,以便计算结束后实现增量。正弦波的频率可以通过增幅的大小来进行控制,如果假定程序循环一次为一个时间单位,则正弦波的周期为65536/步长,频率为周期倒数。自动增长时要注意当超过后必须调整到的范围内才能调用计算子程序,即若。 2. 需要使用临时数据时,必须用frame语句留出所需空间,使用结束后要将堆栈指针还原以防堆栈内存泄漏。要注意的是frame的下一条指令不能使用直接寻址。 打开sin_out的MAP文件。如下图: 3. 注意事项:利用累加器写乘法寄存器T(stlm)之后的下一条指令不能使用T;条件转移指令xc在指令访问阶段判断条件,该条件必须在先于xc指令的2个指令之前产生;条件转移指令bc是在指令执行阶段判断条件,不存在这方面的问题。具体细节请参见《数字信号处理系统的应用和设计》3.6节和4.5节。 4. 图形观测时选择菜单View-Graph-Time/Frequency,然后设置如下图: 确定并设置好断点后(断点位置要设置对,几个地方都可以,可多尝试几次)使用Debug-Animate就可以观察到动画输出的结果如图: start address中用sin_out时可得如下图: 从图中可以观察到正弦波的周期。改变的增量步长观察不同频率的正弦波输出有何不同。 改变步长,将步长改为0X f100,得到如下图。 比较上述两图可以发现,当步长增大时,正弦波的周期变小了。原因在于周期等于65536/步长。 start address中用AR6测试时,可得如下图: start address中用0x2000测试时,可得如下图: 观察正弦波的不同,记录图形数据并比较,我们可以发现,当start address改变时,波形大致不发生变化,周期,幅度基本上不变,只是起始波形位置不一样了。原因在于start address只是改变起始地址,并不改变其周期,步长等等。故图形会发生上述变化。 当设置多个断点时,可以得到如下图形: 比较该图与我们得到的第一个正弦波图形我们可以发现,该波形不再连续,而是出现了阶梯状。原因在于当我们

文档评论(0)

cgtk187 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档