DSP技术实验报告.doc
《DSP技术实验报告.doc》由会员分享,可在线阅读,更多相关《DSP技术实验报告.doc(39页珍藏版)》请在咨信网上搜索。
福计算机与信息学院 信息工程类 实验报告 课程名称: DSP技术 姓 名: 系: 电子信息工程 专 业: 电子信息工程 年 级: 学 号: 指导教师: 职 称: 讲师 2011年 11月21日 实验项目列表 序号 实验项目名称 成绩 指导教师 1 实验1 汇编语言、体系结构和CCS 2 实验2 C6000流水线和C运行时环境 3 实验3 C6000代码优化 4 实验4 利用BIOS创建工程及性能分析 5 实验5 利用BIOS调试程序 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 福建农林大学计算机与信息学院信息工程类实验报告 系: 电子信息工程 专业: 电子信息工程 年级: 2010级 姓名: 学号: 实验课程: 实验室号:___田C513 实验设备号: 实验时间: 2013.10.18 指导教师签字: 成绩: 实验1 汇编语言、体系结构和CCS 1.实验目的和要求 1.熟悉DSP软件开发环境CCS的使用。 2.熟悉CCS中的C语言编程。 3.了解C6000DSP的汇编语言。 2.主要仪器设备(实验用的软硬件环境) 安装了CCS2.0的计算机,采用simulator配置文件sim6201_simulator.cfg 3.操作方法与实验步骤 1、配置CCS 打开桌面程序“Setup CCS 2 ('C6000)”,采用simulator配置文件sim6201_simulator.cfg,配置完成后保存。 2、实验内容1操作步骤: (2)打开CCS: ①打双击桌面程序:Setup CCS 2 ('C6000),配置CCS,选C6xxx; ②配置好后,打开桌面程序:CCS 2 ('C6000); (3)打开工程文件: ①把文件夹tutorial\sim62xx\hello1拷贝到myproject下; ②单击菜单Project->Open,打开hello.pjt,选择支持库rts6200.lib (4)编译程序:菜单Project->build或rebuild (5)加载程序:菜单File->Load Program,选择Debug下的.out文件装入目标板 (6)go main:菜单Debug->go main,执行到main()处暂停 (7)执行程序:Debug->Run (8)设置断点:Toggle breakpoint (9)单步执行:Step(两种:C和汇编) (10)观察变量:菜单Edit->Variable (11)观察存储器:菜单Edit->Memory (12)测试函数执行的CLK:Profiler->View Clock (13)混合代码显示:View->Mixed Source/ASM 3、自行完成实验内容2的操作。 4、自行完成实验内容3的编程及编译、目标程序的加载和执行,观察c = a*b对应的汇编代码,并解释该汇编代码。 4.实验内容及实验数据记录 1.新建一个project,把tutorial\sim62xx\hello1的文件添加进去,完成其功能。练习CCS的基本操作:加载程序、go main、执行程序、设置断点、单步执行、观察变量、观察存储器、测试函数执行的CLK、混合代码显示。 2.打开tutorial\sim62xx\volume1的项目文件,完成图形方式观察变量、设置探点、GEL控制变量、FILE IO、动画显示输入输出的功能。然后单步执行load.asm,观察C代码调用、寄存器的变化、测试函数执行时间、如何循环和返回C代码。 3.解释如何在C6201上实现32bit int乘32bit int, 结果是32 bit int的过程:在刚才的hello1中设置3个全局变量int a = 0x10008; int b = 56; int c;在main函数中执行语句 c = a * b; build后加载执行程序, 混合代码显示 c = a*b对应的汇编代码,解释之。 5.实验程序或实验数据处理与分析 1.配置CCS 2.打开CCS (1)打开工程文件: ①把文件夹tutorial\sim62xx\hello1拷贝到myproject下; ②单击菜单Project->Open,打开hello.pjt,选择支持库rts6200.lib (2)编译程序:菜单Project->build或rebuild (3)加载程序:菜单File->Load Program,选择Debug下的.out文件装入目标板 (4)go main:菜单Debug->go main,执行到main()处暂停 (5)执行程序:Debug->Run (6)设置断点:Toggle breakpoint (7)单步执行:Step(两种:C和汇编) (8)观察变量:菜单Edit->Variable (9)观察存储器:菜单Edit->Memory (10)测试函数执行的CLK:Profiler->View Clock (11)混合代码显示:View->Mixed Source/ASM 3. 自行完成实验内容3的编程及编译、目标程序的加载和执行,观察c = a*b对应的汇编代码,并解释该汇编代码。 6.质疑、建议、问题讨论 通过此次实验,使我熟悉了DSP软件开发环境CCS的使用,熟悉CCS中的C语言编程,并且初步了解C6000DSP的汇编语言。 福建农林大学计算机与信息学院信息工程类实验报告 系: 电子信息工程 专业: 电子信息工程 年级: 姓名: 学号: 1 实验课程: 实验室号:____ __ 实验设备号: 实验时间: 指导教师签字: 成绩: 实验2 C6000流水线和C运行时环境 1.实验目的和要求 1.熟悉DSP软件开发环境CCS的使用。 2.熟悉C6000中的C运行时环境。 2.主要仪器设备(实验用的软硬件环境) 安装了CCS2.0的计算机,采用simulator配置文件sim6201_simulator.cfg 3.操作方法与实验步骤 1)打开ccs6000的C运行时的环境; 2)双击桌面程序Setup CCS2(6000),配置CCS,选择C6xxx; 3)配置好后,打开桌面程序CCS2(6000); 4)把文件夹tutorial\sim62xx\hello1拷贝到myproject下; 5)单击菜单project->open,打开open.pjt,选择文件库rts6200.lib; 6)将汇编代码段加到hello.asm,再在hello.c中加入汇编子函数的C语言程序,进行编译、加载生成.out文件,执行产生结果。 4.实验内容及实验数据记录 采用simulator配置文件sim6201_simulator.cfg 1. Hello1中添加1个C文件sop_c.c ,该文件是一个乘法累加的子函数sop_c (short * a, short * x, int * y, int n),然后在main函数中调用。不选择任何优化选项。用混合代码显示,在汇编层次执行sop_c子函数,观察调用、执行和返回的过程。 2.用汇编语言实现两个数组a(n)和x(n)的乘法累加功能。汇编文件名为:sop_asm.asm,主函数C中调用格式:int sop_asm(short * a, short * x, int n)。 5.实验程序或实验数据处理与分析 1)在Hello1中添加文件sop_c.c 在mian函数中调用: 2)在Hello1中添加文件sop_asm.asm 在main函数中调用 3)实验处理: 6.质疑、建议、问题讨论 由于对c6000的使用还不是太熟悉,所以操作中还是不太熟练,而且在编写代码时也有些不必要的错误,但进过细心的观察,最终找到错误并改正,今后应该注意,此次实验使我熟悉DSP软件开发环境CCS的使用,熟悉C6000中的C运行时环境。 福建农林大学计算机与信息学院信息工程类实验报告 系: 电子信息工程 专业: 电子信息工程 年级: 姓名: 学号: 实验课程: 实验室号:__ __ 实验设备号: 实验时间: 指导教师签字: 成绩: 实验3 C6000代码优化 1.实验目的和要求 1.熟悉DSP软件开发环境CCS的使用。 2.掌握CCS中的C语言编程。 3.熟悉C6000DSP的代码优化过程。 2.主要仪器设备(实验用的软硬件环境) 安装了CCS2.0的计算机,采用simulator配置文件sim6201_simulator.cfg 3.操作方法与实验步骤 1)打开ccs6000的C运行时的环境; 2)双击桌面程序Setup CCS2(6000),配置CCS,选择C6xxx; 3)配置好后,打开桌面程序CCS2(6000); 4)把文件夹tutorial\sim62xx\hello1拷贝到myproject下; 5)单击菜单project->open,打开open.pjt,选择文件库rts6200.lib; 6)将汇编代码段加到hello.asm,再在hello.c中加入汇编子函数的C语言程序,进行编译、加载生成.out文件,执行产生结果。 4.实验内容及实验数据记录 1.采用simulator配置文件sim6201_simulator.cfg,写手工优化的sop_asm.asm程序:在实验二的基础上实现16bit数组的乘法累加的函数,并手工优化和采用软件流水优化。要求: (1)使用LDW和MPY,MPYH指令;对于C64可以使用扩展乘法指令。 (2)画出相关图和模迭代间隔表。 5.实验程序或实验数据处理与分析 1. 实现16位数组乘法函数 1)在hello.c中添加文件sop_c.c 2)在main函数中的调用 3)编译运行结果 2.优化 1)线性汇编优化sop_sa.sa 2)在main函数中的调用 3)编译运行结果 4)汇编优化sop_asm.asm 5)在main函数中的调用 6)编译运行结果 6.质疑、建议、问题讨论 通过此次实验,进一步熟悉DSP软件开发环境CCS的使用,也知道并且熟悉C6000DSP的代码优化过程,但还是发现自己在编写改进程序上能力不足,今后一定加强这方面的练习。 福建农林大学计算机与信息学院信息工程类实验报告 系: 电子信息工程 专业: 电子信息工程 年级: 姓名: 学号: 实验课程: 实验室号:__ _ 实验设备号: 实验时间: 指导教师签字: 成绩: 实验4 利用BIOS创建工程及性能分析 1.实验目的和要求 1.通过创建基于DSP/BIOS的Hello World工程实例,熟悉CCS环境下DSP/BIOS软件的创建和使用方法。 2.熟悉在CCS环境下对代码的运行效率和性能作出评估的工具和方法。 3.实验要求 完成实验内容,运行成功,得到输出结果,填写以下表格,并作出对比分析。 运行一次所需要的指令周期数(单位:个) put()函数 1700 LOG_prinrt()函数 36 printf()函数 2530 2.主要仪器设备(实验用的软硬件环境) 安装了CCS2.0的计算机,采用simulator配置文件sim6201_simulator.cfg 3.操作方法与实验步骤 第一步:打开已有工程并运行 1、 在C:\ti\myprojects目录里面创建hellobios目录。 2、 把C:\ti\tutorial\sim64xx\hello1里的全部文件拷贝到这个新的目录下面。 3、 如果CCS还没有启动,启动CCS环境,Setup里面设置为C64xx Device Simulator。 4、 选择Project->Open,打开这个工程,工程的项目文件目录为:C:\ti\myprojects\hellobios,项目名称是hello.pjt。 5、 若提示以下错误,选择Browse,选择目录:C:\ti\C6000\cgtools\lib\rts6400.lib,打开工程。 6、 编译,运行工程,查看结果,应该是输出hello world字符。 第二步:评测stdio.h中输出函数put()的执行时间(周期数) 1、 新建一个Profiler,选择Profiler->Start New Session,名称为MySession,确定。 2、 出现Session窗口,选择Range栏。如下所示,出现hello.out。 3、 用鼠标拖曳,高亮put()函数,如下所示: 4、 按住鼠标,拖曳到Range窗口里面,出现: 5、 重新Load程序,运行,得到运行结果如下: 6、 结论:采用put()函数输出一次的指令周期数是:1700。 7、 采用同样方法,测试printf()函数的指令周期数目: 8、 记录put()函数和printf()函数需要的指令周期数到表格,用来和下面实验的结果对比。 第三步:编辑源代码 1、 在CCS里,关闭hello.c窗口。 2、 用Windows Explorer把C:\ti\tutorial\sim64xx\hello2目录里的hello.c文件拷贝到C:\ti\myprojects\hellobios目录。按Yes覆盖原来已经存在的hello.c文件。hello2例中采用DSP/BIOS函数来替代hello1例中的标准C函数的put()输出函数。 3、 双击hello.c文件,在Project View窗口打开源文件。 4、 注意新代码的几点问题: #include <std.h> #include <log.h> #include "hellocfg.h" Void main() { LOG_printf(&trace, "hello world!"); /* fall into DSP/BIOS idle loop */ return; } 5、 hello.c文件首先包含了std.h和log.h两个头文件。程序如果想使用DSP/BIOS API那它必须包含std.h文件以及程序中用到的模块的对应头文件。log.h头文件中定义了LOG_Obj结构以及LOG模块用的API函数的声明。std.h文件必须在其它的DSP/BIOS模块头文件之前声明。其它模块的头文件声明顺序不重要。 6、 代码接下来要包含hellocfg.h头文件,这个文件在创建并保存DSP/BIOS配置的时候创建的。下一个步骤我们就来创建这个文件。这个文件包含了配置文件夹里面的DSP/BIOS objects的外部声明。 7、 hellocfg.h文件也包含了配置文件里定义的DSP/BIOS模块的头文件。既然std.h和log.h文件都会被hellocfg.h文件引用,那么hello.c文件的头两行时间上是冗余的。但是这样也不会有任何问题。 8、 调用LOG_printf的代码实际上是传递LOG object对象(&trace)和 hello world消息的地址。 9、 最后main()函数返回,这个函数导致程序进入DSP/BIOS的Idle循环。在这个循环中,DSP/BIOS等待线程,例如软件中断和硬件中断发生。在该例中,没有其它线程发生,所以会一直处于IDLE状态。 第四步:创建DSP/BIOS的配置文件 1、 选择File->New->DSP/BIOS Config。 2、 选择一个目标模板,根据芯片选择,我们选c64xx.cdb,然后按OK。观察configuration窗口,左边窗口是模块的列表,可以通过点击模块的“+”号打开下级目录,也可以按右键新建一个对象或查看一个建立好的对象的属性。 3、 点击Instrumentation目录左侧的+号,显示模块的列表。 4、 邮局选择LOG—Event Log Mannger然后右击选择Insert LOG。这个步骤是创建一个LOG对象,名称为LOG0。 5、 右键选中LOG0对象,然后右击选择Rename。把LOG对象改名为trace. 6、 如果你在使用软件仿真器,需要设置RTDX模式为Simulator。 选择RTDX—Real-Time Data Exchange Settings,右键,选择属性,打开对话框: 将RTDX Mode设定为Simulator即可。如果有目标板,可以选择JTAG。 7、 选择File->Save。保存到当前目录(通常是C:\ti\myprojects\hellobios)命名为hello.cdb,保存这个配置后,会生成以下6个文件: Hello.cdb 保存配置的内容 Hellocfg.cmd 链接command文件 Hellocfg.h 包括DSP/BIOS模块头文件和配置文件中用到的外部对象、变量的声明 Hellocfg.s62 DSP/BIOS设置的汇编语言源文件 Hellocfg.h62 Hellocfg.s62引用到的汇编语言源文件 Hellocfg_c.c Chip Support Library(CSL)代码结构和设置 第五步:添加DSP/BIOS文件到工程项目 1、 选择Project->Add Files to Project,在Files of type栏目里选择Configuration File(*.cdb),选中hello.cdb文件后,点Open。注意添加后,hello.cdb出现在Porject View窗格下目录DSP/BIOS Config里。此外,CCS自动添加Hellocfg.s62和Hellocfg_c.c文件到生成的目录下。 2、 输出文件名必须和.cdb文件一致。可以通过Project->Build Options打开Linker标签查看,确认Output Filename内容是.\Debug\hello.out,按OK确定。 3、 再次选择Project->Add Files to Project,选对Linker Command File(*.cmd)在Files of type下拉菜单,选择hellocfg.cmd文件,然后按Open。 4、 如果看到警告,按Yes。Hello.cmd文件被hellocfg.cmd文件替代,hellocfg.cmd文件是保存DSP/BIOS时生成的。 5、 若没有警告,直接将hello.cmd文件从项目中删除。 6、 你可以自己创建独立的cmd文件,但文件中必须引用DSP/BIOS的生成的配置cmd文件。如: -1 hellocfg.cmd Your Code ...... 7、 从项目中删除vectors.asm源文件。因为硬件中断可以通过DSP/BIOS设置,不需要单独的处理。 8、 从项目中删除rts6400.lib文件。这个库已经被hellocfg.cmd自动引用了。 9、 选择Project->Save保存对项目的更改。建议在编译和运行项目前,先保存修改。 10、 选择Project->Rebuild All。 11、 经过以上修改,项目变化为: 第六步:在CCS的Simulator环境下测试工程 1、 选择File->Load Program,选中hello.out,确定。 2、 选择DSP/BIOS->Message Log,出现窗口: 3、 在Log窗口按右键,选择属性,把输出文件指定到hello.txt,用来保存结果,便于以后查看。 4、 选择Debug->Go Main,然后F10,单步运行。观察Log窗口的输出。 5、 在Log窗口,按右键选择close,关闭窗口。 6、 重新Load程序,按F4。 7、 运行程序,等待一会儿,再按结束,中止程序运行。 8、 File->Open,然后在Debug目录中选择hello.txt,打开查看,内容和窗口的输出是一样的,都是hello world! 第七步:评估DSP/BIOS输出函数LOG_printf()的执行时间(周期数) 在这个步骤中,我们利用CCS的Profiling工具来评估LOG_printf()函数需要的指令周期数目,并且和printf()和put()函数对比。 1、 选择File->Reload Program。 2、 选择Profiler->Start New Session,弹出Proliler session窗口,接受默认的名称MySession,确认。如果出现错误,可以禁用RTDX功能。 3、 在MySession的窗口中,选择Ranges选项。 4、 双击hello.c文件,在Project View中打开源文件。 5、 高亮调用LOG_printf函数的语句。 6、 用鼠标拖曳到MySession Profile窗口中。 7、 MySession Profile窗口得到如下设置。时间的行号(line 28)可能会有所不同。 8、 按下“Run”按钮,或按F5运行程序。 9、 在MySession Profile窗口,观察Incl. Total column.(由于这个函数只执行一次,所以Total、Maximum和Minimum是相同的) The Incl.Total的含义:这个参数是用来表示从汇编指令执行到这一行的开始到执行结束所需要的指令周期数目。 比较LOG_printf()函数和puts()函数的指令周期数目。 结论:经过对比发现,LOG_printf()函数比puts()函数的效率高很多。实际的指令周期数目和DSP芯片的型号有关。 调用LOG_printf()函数效率高的原因是字符串的格式化工作在主机(PC)完成,而不是目标板(DSP)上完成,所以说,LOG_printf()函数效率非常高。 4.实验内容及实验数据记录 1、打开已有的Hello World工程,评估stdio.h的运行效率,即put()函数的性能; 2、在Hello World基础上,创建一个基于DSP/BIOS的Hello World工程; 3、评估DSP/BIOS的输出函数性能,即LOG_printf()函数运行的指令周期。 5.实验程序或实验数据处理与分析 1)打开已有工程并运行 对hello.pjt编译并运行: 2)评测stdio.h中输出函数put()的执行时间 MySession窗口 将put()函数拉人ranges中: 重新Load程序,运行,得到运行结果如下: 结论:采用put()函数输出一次的指令周期数是:1700。 采用以上方法,测试printf()函数的指令周期: 将put()语句改成printf()语句,然后拉人ranges中重新Load,得到结果如下: 结论:采用printf()函数输出一次的指令周期数是:2530。 3)编辑源代码 4)创建DSP/BIOS的配置文件 选择目标版:c64xx.cdb 创建一个LOG对象,名称为LOG0,右键选中LOG0对象,然后右击选择Rename。把LOG对象改名为trace. 选择RTDX—Real-Time Data Exchange Settings,右键,选择属性,打开对话框:设置RTDX模式为Simulator。 选择File->Save。保存到当前目录(通常是C:\ti\myprojects\hellobios)命名为hello.cdb,保存这个配置后,会生成以下6个文件: 5)添加DSP/BIOS文件到工程项目 (1)添加hello.cdb (2)输出文件名必须和.cdb文件一致:确认Output Filename内容是.\Debug\hello.out,按OK确定。 (3)添加hellocfg.cmd文件:并移除hello.cmd文件、vectors.asm源文件、rts6400.lib文件 (5)Rebuild All 6)在CCS的simulator环境下测试工程 (1) 选择DSP/BIOS->Message Log,出现窗口: 在Log窗口按右键,选择属性,把输出文件指定到hello.txt,用来保存结果: (2)选择Debug->Go Main,然后F10,单步运行。观察Log窗口的输出: (3) File->Open,然后在Debug目录中选择hello.txt,打开查看,内容和窗口的输出是一样的,都是hello world! 7)评估DSP/BIOS输出函数LOG_printf()的执行时间 (1)选择Profiler->Start New Session,弹出Proliler session窗口,接受默认的名称MySession,确认。如果出现错误,可以禁用RTDX功能。 (2)将LOG_printf函数的语句拖曳到MySession Profile窗口中:并运行程序 结论:采用LOG_printf ()函数输出一次的指令周期数是:36。 结论:经过对比发现,LOG_printf()函数比puts()函数的效率高很多。实际的指令周期数目和DSP芯片的型号有关。 调用LOG_printf()函数效率高的原因是字符串的格式化工作在主机(PC)完成,而不是目标板(DSP)上完成,所以说,LOG_printf()函数效率非常高。 6.质疑、建议、问题讨论 本次实验,主要是熟悉CCS环境下DSP/BIOS软件的创建和使用方法、熟悉在CCS环境下对代码的运行效率和性能作出评估的工具和方法。在要注意的是本次配置CCS时要用的是rts6400.lib库而不在是rts6200.lib库。通过实验使我对代码有了新的理解。 福建农林大学计算机与信息学院信息工程类实验报告 系: 电子信息工程 专业: 电子信息工程 年级: 姓名: 学号: 实验课程: 实验室号:__ __ 实验设备号: 实验时间: 5 指导教师签字: 成绩: 实验5 利用BIOS调试程序 1.实验目的和要求 通过对一个工程的调试,了解多线程的调度方法;学会查看程序性能的方法;学习更多的BIOS调试工具,如Execution Graph,the real-time analysis controlpanel (RTA Control Panel),the Statistics View,and the CLK(clock),SWI(software interrupt),STS(statistics),and TRC(trace)等模块。 注意: 1、 如果使用的是C6416 target,DSP/BIOS的实时分析工具只能在停止模式下才能更新数据。因此,分析数据只有当到达断点或者挂起的时刻才能送往主机PC显示分析。 2、 DSP/BIOS的一些功能,如CPU Load Graph,需要有硬件的CPU才能运行。 3.实验要求 1)完成实验内容,运行成功,得到输出结果。 2)修改Load数值(分别为1,100,100),在线程执行图中查看SWI进程执行时间。 3)修改Load数值(分别为1,100,100),在线程统计数据表中查看SWI进程执行时间(ms),指令周期数据。 2.主要仪器设备(实验用的软硬件环境) 安装了CCS2.0的计算机,采用simulator配置文件sim6201_simulator.cfg 3.操作方法与实验步骤 第一步:打开一个已有的工程 1、 在C:\ti\myprojects目录创建volume2文件夹。 2、 把C:\ti\tutorial\sim64xx\volume2文件夹的所有文件拷贝到这个新建的目录中。 3、 启动CCS。 4、 选择Project->Open,选择volume.pjt文件,按Open。 5、 展开项目,观察文件的内容,有:volume.pjt、DSP/BIOS Config、and Source。volumecfg.cmd文件是创建的一个配置文件,包含了大量的DSP / BIOS的头文件。 这个工程文件包含的文件有: (1) volume.cdb:配置工具生成的配置文件。 (2) volume.c:包含main()的C语言程序源文件。 (3) volume.h:C语言程序源文件所需要的头文件夹。 (4) load.asm:汇编文件。 (5) volumecfg.cmd:配置工具生成的连接命令文件。 (6) volumecfg.h:配置工具生成的包含对象声明的头文件。 (7) volumecfg.s62:配置工具生成的汇编源文件。 (8) volumecfg.h62:配置工具生成的C语言头文件。 (9) volumecfg_c.c:包含芯片支持库的程序文件。 第二步:查看源代码 #include <std.h> #include <log.h> #include <swi.h> #include "volumecfg.h" #include "volume.h" /* Global declarations */ Int inp_buffer[BUFSIZE]; /* processing data buffers */ Int out_buffer[BUFSIZE]; Int gain = MINGAIN; /* volume control variable */ Uns processingLoad = BASELOAD; /* processing routine load value */ /* Functions */ extern Void load(Uns loadValue); Int processing(Int *input, Int *output); Void dataIO(Void); Void main() { LOG_printf(&trace,"volume example started\n"); /* fall into DSP/BIOS idle loop */ return; } Int processing(Int *input, Int *output) { Int size = BUFSIZE; while(size--){ *output++ = *input++ * gain; } /* additional processing load */ load(processingLoad); return(TRUE); } Void dataIO() { /* do data I/O */ SWI_dec(&processing_SWI); /* post processing_SWI software interrupt */ } 第三步:修改配置文件 1、 File->Open,在窗口的文件件类型选.cdb,打开volume.cdb文件,修改LOG下trace的buffer,buffer长度改为256。 2、 右击CLK-Clock Manager,查看CLK函数的属性。Timer的中断是固定的。 3、 查看硬中断和软中断函数。点击HWI_INT14,窗口右边的显示即是。Timer0的中断固定为HWI_INT14,对应的函数CLK_F_isr。 4、 查看软中断(SWI)函数。Mailbox:为0的时候执行processing函数。 第四步:查看线程执行图 1、 选择File->load Program,下载程序; 2、 选择DSP/BIOS->RTA Control Panel,出现RTA控制窗口。 确认Enable SWI logging和Enable CLK olgging被选中,向下滚动,确认Global host enable被选中。按右键,选择Property page选项。 确认Message Log/Execution Graph的刷新率是1 Second,然后按OK。 3、 选择DSP/BIOS->Execution Graph,出现Execution Graph窗口。 4、 运行程序,得到输出结果。 第五步:分析线程的统计数据 1、 选择DSP/BIOS->Statistics View,出现Statistics View窗口。 2、 运行程序,Run。 3、 更改时间单位。在Statistics View窗口中右击,选择Property page选项,点击Units选项卡。 4、 再次运行程序。 4.实验内容及实验数据记录 1、学习观察线程执行图的方法; 2、学断送HWI和SWI联合完成中断处理的方法; 3、分析线程的统计数据。 5.实验程序或实验数据处理与分析 1)打开一个已有的工程 2)查看源代码 3)修改配置文件 (1) File->Open,在窗口的文件件类型选.cdb,打开volume.cdb文件,修改LOG下trace的buffer,buffer长度改为256。 (2)右击CLK-Clock Manager,查看CLK函数的属性。Timer的中断是固定的。 (3)查看硬中断和软中断函数。点击HWI_INT14,窗口右边的显示即是。Timer- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 技术 实验 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文