ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:780.91KB ,
资源ID:17215776      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17215776.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CCS程序设计和DSP硬件实验Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

CCS程序设计和DSP硬件实验Word文档下载推荐.docx

1、myasm。创建工程4. 设置工程编译选项 选择CCS菜单project-Build Options,点击Linker页,设置Autoinit Model为:No Autoinitialization(这点是与C语言程序设计不同)注意:若省略这一步,也不影响程序建立,只不过会出现警告:warning: entry point symbol _c_int00 undefined5. 输入源程序1)输入汇编源程序 选择File-New-Source File或使用工具条的快捷按钮,进入文件编辑窗口。录入汇编源程序: ;* 输入数据存放在:x,y 本例程完成运算:x+y 结果存放:z 其中:x,y,

2、z都占32位* .bss x, 4 ;排版要空一格,下同 .bss y, 4 .bss z, 4.def start.def x, y, z .textstart:排版要顶格 mvkl x, A0;立即寻址,将变量x 的值放到寄存器A0 mvkh x, A0; mvkl y, B0;立即寻址,将变量y 的值放到寄存器B0 mvkh y, B0;立即寻址,将变量y 的值放到寄存器B0 mvkl z, B2;立即寻址,将变量z 的值放到寄存器B2 mvkh z, B2; mvkl 0x010a0f2a, A4;给A4 低16位赋值 mvkh 0x010a0f2a, A4;给A4 高16位赋值 mv

3、kl 0x1ab31211, B4;给B4 低16位赋值 mvkh 0x1ab31211, B4;给B4 高16位赋值 stw A4, *A0;A4存入A0所指地址单元 nop 5 stw B4, *B0;B4存入B0所指地址单元 nop 5 ldw *A0, B1 ;将A0寻址单元的值读入B1 nop 5 ;避免流水线冲突 ldw *B0, A1;将B0寻址单元的值读入A1 add A1, B1, A2 ;加法运算:A1+B1-A2 stw A2, *B2 ; 将A2的值存入B2所指地址单元 b $ ;一直在这里跳转,注意:b后有一个空格汇编语句前需要留出空格,标号顶格输入,否则编译有错误提

4、示。保存源程序到工程目录下,保存文件为:myasm.asm2)输入链接命令文件点击“File/New/Source File”或使用工具条的快捷按钮,进入文件编辑窗口。输入链接命令文件内容:-stack 400-heap 400MEMORY ISRAM : origin = 0x0, len = 0x1000000SECTIONS .vectors ISRAM .text .bss .cinit .const .far .stack .cio .sysmem 保存源程序到工程目录下,命名为myasm.cmd。6. 将上述编辑的源程序myasm.asm和链接命令文件myasm.cmd加入工程my

5、asm.pjt。7. 编译源文件、建立目标文件(.out)点击菜单project-compile file,可以对文件进行编译再点击菜单Project-Build,建立目标文件成功建立的文件应该是错误和警告都为0. 8调用目标文件(调用编程可执行程序) 1)连接仿真器与目标板点击: Debug-connect,连接成功后,CCS左下角有提示。 Connect连接之后,选择File-Load Program,选择myasmdebugmyasm.out,点击Debug-Restart后PC此时指向00000000 00000000地址。9.调试1)goto main2)设置断点在需要设置断点的行前

6、双击鼠标,则在行前出现红色的原点,表示设置了断点;若在已经设置了断点的行前双击鼠标,则可以取消该断点。3)单步运行 用菜单debug-Step Into或F11可以单步运行。10. 观察开启CPU寄存器观察窗口:单击菜单ViewRegisterscore。使用单步运行,查看相应寄存器的值的变化。还可开启Watch window,Memory窗口,进行变量、存储空间的观察。点击view-watch window,则打开观察窗口11. 退出CCS三C语言DSP程序设计实验1. 标准C 语言程序CCS 支持使用标准C 语言开发DSP 应用程序。C源程序文件名的后缀应为.c。CCS 在编译标准C 语言

7、程序时,首先将其编译成相应汇编语言程序,再进一步编译成目标DSP 的可执行代码。最后生成的是COFF 格式的可下载到DSP 中运行的文件,其文件名后缀为.out。由于使用C 语言编制程序,其中调用的标准C 的库函数由专门的库提供,在编译链接时编译系统还负责构建C 运行环境。所以用户工程中需要注明使用C 的支持库。2. 命令文件的作用命令文件(文件名后缀为cmd)为链接程序提供程序和数据在具体DSP 硬件中的位置分配信息。通过编制命令文件,我们可以将某些特定的数据或程序按照我们的意图放置在DSP 所管理的内存中。命令文件也为链接程序提供了DSP 外扩存储器的描述。在程序中使用CMD 文件描述硬件

8、存储区,可以只说明使用部分,但只要是说明的,必须和硬件匹配,也就是只要说明的存储区必须是存在的和可用的。3. 内存映射(map)文件的作用为了更精确地使用ROM 空间,我们就需要知道程序的大小和位置,通过建立目标程序的map 文件可以了解DSP 代码的确切信息。当需要更改程序和数据的大小和位置时,就要适当修改cmd 文件和源程序,再重新生成map 文件来观察结果。另外,通过观察map文件,可以掌握DSP 存储器的使用和利用情况,以便进行存储器方面的优化工作。1. 准备将DSP实验设备与硬件仿真器相连接,连接电源线,打开电源开关。2设置CCS 在硬件仿真(Emulator)方式下运行,选择实际的

9、仿真器。3.启动CCS环境4创建工程。 选择菜单Project-New,创建ctest.pjt工程5建立源文件1)建立C语言源程序文件。选择FILE-Source,输入下列C代码,保存到文件ctest.c。int sel_max(int a, int b);void main() int x; int y; int z; x = 21; y = 98; while(1) z=sel_max(x,y); /函数调用 int sel_max(int a, int b) return(a=b)?a:b);2)建立链接命令文件点击“File/New/Source File”或使用工具条的快捷按钮,打开

10、编辑窗,建立ctest.cmd文件,内容如下:6.工程添加文件 点击菜单Project-Add Files to project,分别加入ctest.c,ctest.cmd文件,再向工程添加C:CCStudio_v3.3C6000cgtoolslib下的文件rts6400.lib(这点与汇编程序设计不同)(注意:若不添加,则链接时会出现警告: entry point symbol _c_int00 undefined)7编译、建立目标文件 产生ctest.out8.调用编程可执行程序1)连接仿真器与目标板2)选择File-Load Program,选择ctestdebugctest.out。

11、1)执行至C语言主程序入口点击Debug-go main。 用菜单debug- 4)全速运行Run或F5可以全速运行。还可开启Watch window,Memory窗口,进行变量、存储空间的观察11.关闭工程 点击Project-Close。12. 退出CCS四、GPIO实验(一)实验原理和方法GPIO 作为通用输入/输出接口,有着广泛的应用。简单配置后,即可用来控制和接口各种外设。对于和别的管脚复用的GPIO,首先需要使能GPIO 功能,然后配置成输入或输出方向后,才能对其控制。DM642 DSP 的McASP 寄存器的AHCLKX 引脚驱动DS6 灯,PFUNC、PDIR、PDOT 如下表

12、所示:本实验中,使用了AHCLKX, 对其置1 或置0 可以点亮或熄灭DS6 灯。其连接电路如下图所示:(二)实验内容与步骤1. 运行 CCS Setup,选择设置实际的实验室硬件仿真器,即platform选“TDS510USB PLUS Emulator”,Family选“C64xx”,available factory boars选“C64xx Rev 1.1 TDS510USB plus emulator-WintechDigital”3.新建gpio文件夹,路径为:C:CCStudio_v3.3MyProjectsgpio,创建工程建立工程 gpio.pjt4.准备1)设置 Proje

13、ct - Build Options - Preprocessor,在include search path中加入:CCStudio_v3.3MyProjectsgpiogpio,在Pre-define Symbols 中加入:_DEBUG;CHIP_DM642。如图:2)复制库文件复制C:TS-DM64XTS-DM64xexperimentccs3.3TS-DM64x_exampleslib下的文件evmdm642bsl.lib到当前工程gpio目录下,并添加到工程中。或者直接在工程的lib上点击添加C:TS-DM64XTS-DM64xexperimentccs3.3TS-DM64x_exa

14、mpleslib下的库文件evmdm642bsl.lib到工程中。5. 输入程序1)输入源程序gpio.c,选择File-录入源程序:#include gio.h#includeevmdm642.h#define GPEN *(volatile unsigned int *)0x01b4c010 / MCASP PFUNC Register#define GPDIR *(volatile unsigned int *)0x01b4c014 / MCASP PDIR Register#define GPVAL *(volatile unsigned int *)0x01b4c018 / MCAS

15、P PDOUT Register/*mcasp ahclkx-DS6 */main() unsigned int i; EVMDM642_init(); /*- 初始化GPIO -*/ GPEN = 0x8000000; /使能 GPDIR = 0x8000000; /设置输出 /*- 置MCASP PDOUT Registe为0或1 -*/ GPVAL = 0x00000; /设置GP0的值0,能够将DS6熄灭 for (i = 0; i csl_gpio.h/* * Note: Bit definitions for each register field * needs to be su

16、pplied here for the CPLD * and other board periperals. */* Compatability definitions */#define NULL 0/* CPLD address definitions */#define EVMDM642_CPLD_BASE 0x90080000#define EVMDM642_SYNC_BASE 0xb0000000#define EVMDM642_FPGAFLASH_BASE 0x90040000#define EVMDM642_FPGASDRAM_BASE 0x80000000/* CPLD Reg

17、ister Indices */*#define EVMDM642_OSDCTRL 0x10#define EVMDM642_THRESHLSB 0x11#define EVMDM642_THRESHMSB 0x12#define EVMDM642_ISR 0x13#define EVMDM642_IER 0x14#define EVMDM642_GPIODIR 0x15#define EVMDM642_GPIOSTAT 0x16#define EVMDM642_LED 0x17#define EVMDM642_FLASHPAGE 0x18#define EVMDM642_REVISION 0

18、x1F*/#define EVMDM642_LED1 0x28 / DS13 address when using EPLD#define EVMDM642_LED4 0x38 / DS4 address when using EPLD/* FPGA definitions */#define EVMDM642_FPGALEN 0x393d8/* I2C handle */extern I2C_Handle EVMDM642_I2C_hI2C;/* GPIO handle */extern GPIO_Handle EVMDM642_GPIO_hGPIO;/* Initialize all bo

19、ard APIs */void EVMDM642_init();/* Read an 8-bit value from a CPLD register */Uint8 EVMDM642_rget(Int16 regnum);/* Write an 8-bit value to a CPLD register */void EVMDM642_rset(Int16 regnum, Uint8 regval);/* Spin in a delay loop for delay iterations */void EVMDM642_wait(Uint32 delay);/* Spin in a del

20、ay loop for delay microseconds */void EVMDM642_waitusec(Uint32 delay);/* Send a configuration file to the FPGA */void EVMDM642_loadFpga(Uint32 fpgaaddr);/* Initialize keyboard */int keyboard_init(void);保存到工程gpio.prt所在文件夹下,名为evmdm642.h。3)输入链接命令文件 * Copyright 2001 by Texas Instruments Incorporated. *

21、All rights reserved. Property of Texas Instruments Incorporated. * Restricted rights to use, duplicate or disclose this code are * granted through contract./*-l .librts6400.lib*/-l cslDM642.lib-l rts6400.lib-stack 0x400-heap 0x400保存源程序到工程目录下,命名为gpio.cmd。6向工程添加文件将源程序gpio.C,链接命令文件gpio.cmd, evmdm642.h加入工程gpio.pjt。7. 编译源文件、建立目标文件(.out),连接connect产生gpio.out8调用编程可执行程序Load Program,选择gpiodebuggpio.out。10.观察实验结果能够点亮火熄灭DS6发光二极管。四、实验仪器与软件(1) PC计算机(2) 多媒体通信实验箱(3) DSP仿真器(4) 音视频连线、耳麦

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1