DSP技术与应用实验报告
学姓学班
院:名:号:级:
指导老师:
完成时间:20111120
f实验五实验五混合编程
一、实验目的1学习使用实时运行库;2熟悉用C和汇编混合编程的方法;3掌握混合编程的调试方法。
二、实验环境1集成开发环境CodeComposerStudio20(简称CCS)2实验程序mixc,mixh由程序自动加载,可不加,后同,mixcmd,addfu
s54,rtslib有C的混合编程需要有库文件,c5402gel要有,有C的混合编程要用gel初始设置。选芯片时设置已自带,可不添加;如无则加
三、实验步骤1改设置Buildoptio
子菜单li
ker中Basic项Autoi
itModel改为loadtimeI
itializatio
或Ru
timeI
itializatio
不同的设置,SP初始值将不同。NoI
itializatio
也可以,但效果不如前两个好。2为使效果更明显,屏蔽前两条pri
tf语句可与第三条对比编译后将出现警告,可忽略,编译项目文件得到out程序。另外装载程序前,在EditMemoryFill中,对DataMemory从0x0000到0xFFFF用全0x1111或0x2222等填充注意填充后必须对Gel文件重新Load一次。然后装载程序了解在混合编程环境下变量、函数的定义方法以及项目文件的编译方法。3打开ViewMemory,用SP值Debug_Gomai
后的值作为开始察看地址,从主程序mai
开始用Si
gleStep方式调试程序,观察程序的执行过程。尤其是在C程序中调用汇编子函数以及返回的过程,注意当前SP和PC的变化。
四、实验结果分析1实时运行库实时运行库提供了标准C中的大部分函数,帮助建立C语言的环境,同时也提供一些基本的调试手段,如pri
tf等。2程序接口参数传递是混合编程中非常重要的一部分:第一个参数放置在寄存器A中,其他参数按照逆序压入堆栈;返回的数据放置在寄存器A中。3局部数据局部数据是在堆栈中开设的,程序返回前消除。4关于堆栈保护
f在子程序addfu
中,由于需要改变ST1中的数值,所以在子程序入口处先用语句pshmST1ST1的值在堆栈中保护起来
五、实验结果:实验结果:在更改实验SP值为0x00c6后,更在指针后在地址在不断的改变,如下图所示:
在不断改变指针后,实验的存储空间中数值在一直的变化,在不断有规律的的变化。
f六、实验总结:实验总结:总结在本次实验中,我们还是相对的了解了程序的执行后的有关实验现象,但是在实验的过程中,我们对实验的程序还不看的不是很懂,在实验中我们是相对有些操作不太熟悉,初步了解了实时运行库,相对的熟悉用C和汇编混合编程的基本方法,基本上掌握混合编程的调试方法,在实验的过程中还是出了r