资源描述:
《dsp技术与应用实验报告精品》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、DSP技术与应用实验报告实验名称:实验三向量文件的编写及多个文件的链接实验四汇编语言程序设计实验时间:2015年5月14日下午实验人:谢兴轮2012141451129实验三向量文件的编写及多个文件的链接一、实验目的1、编写复位向量文件vectors。Asm2、多个文件的链接3、编写复位和屮断向景文件4、仿真外部中断二、实验条件Lab3.asm和lab3.cmd文件三、实验内容1、打开桌面CCS2(‘5000)图标,扁动CCS集成开发环境。2、创建•一个新工程;并将lab3.sam和lab3cmd添加入工程3、编写复位向量文件,vectors.asm并
2、将文件添加到工程中。4、为了将lab3和vectors两个文件相连接,参看3.6.4节的说明,对Iab3.sam和lab3.cmd文件进行必要的修改5、用工程文件对工程中所有文件进行汇编编译链接生成输出文件6、加载程序并单步执行hib3.Oiit文件,仔细观察复位A量的作用7、参看教材4.4中内容,仿真外部中断INT2:①在lab3.asm中,增加一段屮断服务子程序INT2,其内容是将累加器A变为负。②修改lab3.sam,开放INT2屮断③修改vecotrs.asm埔加INT2中断向量④编写仿真外部中断用的数据文件:文件名为INT2.dat,每隔5
3、个时钟周期向CPU发出一次中断请求,直到仿真结束。⑤对工程中所有文件进行重新汇编,链接生成新的输出文件。⑥执行前,从Tool菜半屮选择,用鼠标要链接pinname冉按connect按钮,选择输入文件INT2与INT2引脚相连,单击打开按钮⑦加载程序并利用单步执行程序,注意观察中断向量在中断执行中的作用。实验分析源程序分析*lab3.asmy=al*xl+a2氺x2+a3*x3+a4*x4*rjwrjwrjwrjwrjwrjwr^、r^,4、r^,4、r^,4、r^,4、r^,4、r^,4、r^,4、r^,.title.mmregsSTACK.usec
4、t.bss.bss•bssnlab3.asm""STACK”,1Ohx,4a,4y,i;allocatespaceforstack•’allocate9wordforvariates•defstart•defINT_2.data•mmregstable:.word1,2,3,4;datafollows....word8,6,4,2.text;codefollows...start:STM#STACK+10h,SP;setstackpointerSTM#table,ARl;AR1pointtotableSTM#x,AR2;AR2pointtoxSTM#
5、7,AR0LD#40h,ASTM#0,SWWSRRSBXINTMSTM#04h,IMRloop:LD*AR1+,A;move8valuesSTLA,*AR2+;fromprogrammemoryBANZloop,*AR0-;intodatamemoryCALLSUM;callSUMsubrotineend:BendSUM:STM#a,AR3;ThesubrotinelmplememtSTM#x,AR4;multiply~accumulateRPTZA,#3MAC*AR3+,*AR4+,ASTLA,*AR2RETINT_2:NEGARETE•end4、
6、4、4、4,4、*vectors.asm**Resetvector*<j、<j、<j、<j、<j、<j、<j、<j、<j、<j、<j、<j、<j、<j、<j、<j、.titlenvectors.asm’’•refstart.sect".vecs"Bstart.refINT_2.sect".vecsl'BINT•end(+100)rptEOS;中断时钟为100个周期。调试:修改lab3.cmd文件,将其中data的地址由.data:>EPROMPAGE0改为.data:>SPRAMPAGE1后,执行程序,每隔100个吋钟周期,程序跳到中断,执行完中断后
7、再跳回。实验结果如I./CS4xSinxjlator(TexasIn$tnjments)/CPU-C54X(Simulator)-CodeComposerStudio-[bb3.cmd]0FileEditb"Tife©
8、1jl溆:N-M-E4%.I•HI??lI?}RiesB□GELfilesB」ProjectEi^labSpjt(Debug)□DependentPro□Documents□DSP/BIOSConf□Generatedfilet□IncludeCjb'braries0SourceIab3^smvectors^smIab3.cmdinp
9、b3.objvectors.obj-olab3.out-«lab3.mop,startMEMORYPAGE0