文档详情

南理工DSP应用技术实验一.docx

发布:2017-08-27约2.48千字共6页下载文档
文本预览下载声明
图一 TMS320C28x 软件开发流程下面简单介绍各主要模块功能:C/C++ Compiler(C/C++编译器)C/C++编译器把 C/C++程序自动转换成 C28x 的汇编语言源程序。这种转换并非一一对应,甚至会产生冗余的汇编代码,在某些场合需要使用优化器(Optimizer)来提高转换的效率,使得汇编代码长度尽可能的短小,程序所使用的资源尽可能的少。优化器是编译器的一部分。Assembler(汇编器)汇编器负责将汇编源程序转换为符合公共目标格式(COFF)的机器目标代码,这种转换是一一对应的,每一条汇编指令都对应了唯一的机器代码。源文件中还包括汇编指令、伪指令和宏指令。Linker(链接器)链接器负责把可重定位的多个目标文件和目标库文件转换为一个 DSP 可执行程序。链接器必须依赖配置命令文件(CMD)的指令,实现对目标文件中各段的定位。Run-time-support library(运行支持库)函数运行支持库包含有 ANSI/ISO C的标准运行支持库函数、编译器功能函数、浮点算术函数和系统初始化子程序(这些函数都集成在汇编源文件 rts.src 中)。五、实验步骤(1)设备检查(2)启动集成开发环境(3)新建工程(4)添加工程文件(5)查阅代码(6)建立工程(Build 工程)(7)加载程序(8)程序的运行(9)程序的调试六、实验结果 1、实验箱测试 (1)打开示波器,信号发生器,调节信号源输出,幅度控制在以内。 (2)将信号源输出端接至实验箱INPUT1,将实验箱OUT3、OUT2分别连接至示波器。(3)打开实验箱电源,检查电源指示灯是否点亮。(4)点击桌面CCS2(C2000),进入F2812的集成开发环境。(5)加载test.out程序,并运行(Run),查看数码管显示、LED闪烁、示波器两路输出信号。最终用CCS2(C2000)运行测试程序,观察到数码管显示数字,LED灯不断闪烁,同时示波器上显示出由信号源传来的两路输出信号,实验结果是实验箱工作完全正常,无异常现象。2、C程序调试(1)记录dataIO()、processing()子程序的入口地址,记录currentBuffer.input和currentBuffer.output所在存储器地址。图一dataIO()、processing()变量观察窗口图二currentBuffer变量观察窗口由CCS中的变量观察窗口可以清楚看到dataIO()、processing()子程序的入口地址分别为0x003F81F5和0x003F81D8,currentBuffer.input和currentBuffer.output所在存储器地址分别为00(2)记录增益控制处理后, 以图形方式显示数据空间currentBuffer.input和currentBuffer.output缓冲存储器中的波形。数据空间currentBuffer.input和currentBuffer.output缓冲存储器中的波形,通过CCS程序显示如下图所示:图三currentBuffer.input缓冲存储器波形图四currentBuffer.output缓冲存储器波形(3)打开工程的.map 文件,查看.text、.data、.bss段在存储空间的地址和长度,指出分别位于TMS320F2812 的什么存储空间以及物理存储块名称。Sectionpageoriginlengthstation.text0003f81c500000adb片外存储空间的数据存储空间.data10000000000000000内部存储空间数据存储空间的起始位.bss10000040000000000内部存储空间数据存储空4)查看.cmd命令文件,比较其与上述.map 中的映射关系。试图修改.cmd文件,再次编译链接,查看配置命令与各段的映射关系。由上图可以得到:PAGE 1:M1RAM(RW) origin=0x000500,length=0x400将上面的M1RAM(RW)的值改为origin=0x000500时,.bss的起始位置变为如下所示:.bss 1 UNINITIALIZED即修正.bss的存储空间应该在M1RAM(RW)内。由.cmd命令文件中的语句:PAGE0:PROG(R): origin=0x3f8080,length=0x1f80再由.text 0 003f81c5 00000adb的地址及长度推断,修正.text的存储空间为PROG(R)。七、实验总结通过这次DSP实验我了解DSP开发系统的基本配置,并且熟悉DSP集成开发环境(
显示全部
相似文档