您现在的位置:首页 >> 苏大附二院体检报告 >> dsp实验报告,dsp课程设计报告,dsp2812实验报告,苏大DSP报告7

dsp实验报告,dsp课程设计报告,dsp2812实验报告,苏大DSP报告7

时间:2012-09-08 来源: 泥巴往事网

diy kitmicromouse 8分钟 作者:广州大学物理与电子工程学院 董瑞烽 肖剑浩 黄绮汶 47分钟 哈尔滨工程大学—DSP实验室 7分钟 借用报告老板的形式将青啤与广告有机的结合在一...

实验九 混合编程实验 一、 实验目的 1.学习使用实时运行库; 2.熟悉 C 和汇编混合编程的方法; 3.掌握混合编程的调试方法。

二、 实验内容 1.编译项目文件并装载程序,了解混合编程环境下变量、函数的定义方法以 及项目文件的编译方法; 2.从主程序 main 开始使用 step over 方式调试程序,观察程序的执行过程, 尤其是在 C 程序中调用汇编子函数以及返回过程,注意这当中 SP 和 PC 的变化。

三、 实验结果及分析 1.实时运行库提供了标准 C 中的大部分函数,帮助建立 C 语言的环境,同时 也提供一些基本的调试手段,如 printf()等; 2.程序接口:参数传递是混合编程中非常重要的一部分,第一个参数放置在 寄存器 A 中,其他参数按照逆序压入堆栈;返回的数据放置在寄存器 A 中; 3.局部数据是在堆栈中开设的,程序返回前清除; 4.堆栈保护:在子程序中,经常可能由于会存在一些操作改变某些寄存器的 值, 因此常常需要在子程序入口先用语句 PSHM 将寄存器的值在堆栈中保护起来; 并且在子程序返回前用语句 POPM 回复寄存器进入子程序前的值; 5.在 C 环境下, 一些具体的操作要使用哪些寄存器来完成是具有严格规范的, 若要在 C 程序中嵌入汇编语言程序,就必须理解和遵循寄存器的使用规范,寄存 器使用规范规定了编译器使用寄存器的方法以及函数调用过程中数值保存的方 法。

6.一般混合编程时需要注意的几个细节:

(1)在汇编语言文件中,将要在 C 语言文件中使用到的变量和函数名加上前缀’_’。如果仅在汇编中使用,则不 需要加此前缀,即使其与 C 程序中定义的对象名相同; (2)任何在汇编文件中声 明的,将要在 C 语言文件中使用的对象或函数,都必须在汇编文件中用.global 伪指令声明。

7.C 程序访问汇编程序中定义的变量:汇编中用.bss 定义的变量,用.global 定义为全局变量, 变量名前加’_’前缀, 在 C 语言程序中说明为 extern 变量 (注:

以.bss 定义的变量采用间接寻址方式工作) 。

8.C 程序访问汇编程序中定义的常数:对于在汇编中用块定义的常数表(如用 于FIR滤波器等的系数表) ,按照首先说明一个指向该表起始的全局符号,然 后用.sect定义一个快在C程序中则定义一个指针指向该系数表; 9.汇编程序访问C程序中定义的变量:在C程序中定义的变量,在汇编程序里 访问很简单,首先在C程序中定义为全局变量,然后再汇编程序中用.glob al定义(变量名前同样需加'_'前缀) ,再利用间接寻址的方式即可实现。

在C语言中定义的数组, 要在汇编中访问, 可以讲数组的首地址赋给辅助寄存器, 利用辅助寄存器即可实现对数组的有效访问。

四、 实验总结 通过本次实验,自己加强了对于 C 和汇编的混合编程的理解,懂得了汇编与 C 的 差别,也更加重视了 CPU 的工作效率的问题,注重汇编与 C 的编写将会使程序变得 简洁明了,有不失效率的问题.

苏大DSP报告2 如要提出功能问题或意见建议,请 点击此处 进行反馈. 苏大DSP报告2 暂无评价 | 0人阅读 | 0次下载 | 举报文档 苏?大?D?S?P?报?告 你可能喜欢 今日推荐 89...

2.熟悉 DSP 54X EVM 板的硬件环境; 3.了解步进电机原理; 4.掌握 DSP 54X I/O 寻址方式; 5.掌握 DSP 54X 中断原理; 通过改变 I/O 总线输出脉冲频率和相位顺序,控制步进电...

系: 电子系 专业: 电子信息工程 年级: 2009 姓名 学号: 09141068 实验时间: 2012-4-7 实验二、汇编寻址方式 实验三、快速傅立叶变换(FFT) (一)实验目的 1、了解DSP ...

 
  • 泥巴往事网(www.nbwtv.com) © 2014 版权所有 All Rights Reserved.