快捷导航
帮助中心知识拓展客服QQ 515224986
扫码加微信
(431)北京理工大学远程教育学院20172018年第一学期
《DSP原理及应用》期末大

教学站学号姓名成绩
C6000实验1:汇编语言、体系结构和CCS
&#61557采用simulator配置文件sim6201_simulator.cfg
&#615571.新建一个project,把tutorial\sim62xx\hello1的文件添加进去,完成其功能。练习CCS的基本操作:加载程序、gomain、执行程序、设置断点、单步执行、观察变量、观察存储器、测试函数执行的CLK、混合代码显示。
&#615572.打开tutorial\sim62xx\volume1的项目文件,完成图形方式观察变量、设置探点、GEL控制变量、FILEIO、动画显示输入输出的功能。然后单步执行load.asm:如何被C代码代码调用、观察寄存器的变化、测试函数执行时间、如何循环和返回C代码。
&#615573.解释如何在C6201上实现32bitint乘32bitint结果是32bitint的过程:在刚才的hello1中设置3个全局变量inta=0x10008intb=56intc在main函数中执行语句c=a*bbuild后加载执行程序混合代码显示c=a*b对应的汇编代码,解释之。
&#615574.Hello1中添加1个C文件sop_c.c,其中有一个矢量乘的子函数sop(short*ashort*xint*yintn),然后在main函数中调用。不选择任何优化选项。用混合代码显示,在汇编层次执行sop子函数,观察调用、执行和返回的过程。
C6000实验2:C6000流水线和C运行时环境
&#61557采用simulator配置文件sim6201_simulator.cfg
&#615571.用汇编语言实现两个数组的乘法累加功能:sop_asm.asm中实现函数intsop_asm(short*ashort*xintn);然后,手工优化汇编代码;
&#615572.C调用汇编函数,汇编函数调用c函数:
在main函数中调用汇编实现的函数addarr3在addarr3中调用C子函数addarr2.
addarr3(int*arr1int*arr2int*arr3int*arr4intn)是汇编函数,其功能为3个数组的对应位置相加,结果放在arr4[n]中;
汇编函数addarr3中调用C的子函数,它把arr1和arr2相加放到arr3[n]中;
addarr2(int*arr1int*arr2int*arr3intn)
C6000实验3:DSP/BIOS
&#61557采用simulator配置文件sim6201_simulator.cfg
1.在volume2的基础上添加一个中断4,并写中断4的服务函数,每发生一次中断把计数器加1。simulator中,利用pinconnect仿真中断;
2.在实验1的基础上添加一个任务TSK1,优先级为3,其服务函数采用for(){}的结构,该任务每3ms执行一次。
3.在实验2的基础上添加一个idle线程,观察idle线程的函数每ms执行多少次;
4.在实验2的基础上添加一个任务TSK2,优先级为4,其服务函数采用for(){}的结构,该任务每2ms执行一次。在第6ms、12ms、18ms….等时刻时,分析TSK1和TSK2的任务切换过程。
C6000实验4:C6000代码优化
1.采用simulator配置文件sim6201_simulator.cfg
写手工优化的.asm程序:在volume1的load.asm基础上实现16bit数组的乘法累加的函数,并手工优化和采用软件流水优化;要求:
(1)使用LDW和MPYMPYH指令;对于C64可以使用扩展乘法指令。
(2)画出相关图和模迭代间隔表
2.采用simulator配置文件sim6701_simulator.cfg.
写一个线形汇编实现的子函数,做复数数组求模,并找出模的最大值的位置和值。复数的实部和虚部为short,求模的结果为unsignedint;
提示:使用INTSP指令把整数转化为浮点数后再开方;

更多学习资料请登录www.openhelp100.com

共 0 个关于本帖的回复 最后回复于 2018-4-4 15:26

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩推荐

    明星用户

    QQ|Archiver|手机版|小黑屋|www.openhelp100.com ( 冀ICP备19026749号-1 )

    GMT+8, 2024-3-28 20:33