收藏 分享(赏)

DSP技术.ppt

上传人:dreamzhangning 文档编号:2162816 上传时间:2018-09-03 格式:PPT 页数:55 大小:1.35MB
下载 相关 举报
DSP技术.ppt_第1页
第1页 / 共55页
DSP技术.ppt_第2页
第2页 / 共55页
DSP技术.ppt_第3页
第3页 / 共55页
DSP技术.ppt_第4页
第4页 / 共55页
DSP技术.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、7-1 CCS安装和使用简介7-2 TMS320C281X C语言简介7-3 典型F281X C工程文件的结构介绍7-4 在内部Flash中运行应用程序,5 DSP编程方法,5-1 CCS安装和使用简介,5 DSP编程方法,CCS安装仿真器安装驱动程序配置使用简介,CCS安装,CCS安装,(1)启动Code Composer Studio ,这里,CCS安装,(2)“Welcome”后击Next。出现警告时:,这里,(3)Yes:,CCS安装,(4)Select All, Next。,这里,CCS安装,(5)默认路径为c:ti,也可以更改。,这里,CCS安装,(6)开始安装。,这里,CCS安装

2、,(7)有情提示。,CCS安装,(8)安装完成。,CCS安装,(9)安装补丁升级到V2.21:C2000-2.20.00-FULL-to-C2000-2.21.00-FULL。,仿真器安装,仿真器安装,实验室配备仿真器为合众达SEED-XDSUSB2.0 首先连接好仿真器,将JTAG插入实验板(1)运行D:utilitiesc2000SEED-XDSUSB2.0 Win2000,XPUSBdriverDisk1SETUP.EXE默认CCS的安装路径,仿真器安装,(2)检查设备管理器中是否如图中所示,仿真器安装,(3)运行应用程序usb20emurst.exe,证实仿真器与目标系统连接正常。,请

3、将测试程序拷贝到计算机上运行。utilitiesc2000SEED-XDSUSB2.0 Win2000,XPUSBdriverusb20emurst.exe,驱动程序配置,驱动程序配置,(1)运行Setup CCS 2 (C2000)。 (2)首先关闭 Import Configuration 窗口,File-Clear 清除原有设备驱动程序。,驱动程序配置,(3)根据DSP的型号选择相应的TI驱动程序。实验板为SEED-DEC2812,故选择F2812 XDS510 Emulator。点击Import a Configuration File,选择好后单击Import ,再Close。,驱动

4、程序配置,(4)右击更改Properties。,驱动程序配置,(5)如下修改:,驱动程序配置,(6)修改Configuration File:,这里,驱动程序配置,(7)确保I/O Port为0x240。,这里,驱动程序配置,(8)完成。 (9)保存、退出,启动CCS。,这里,使用简介,仿真模式调试一例,创建工程,1. 打开CCS,点击ProjiectNew,创建一个新工程wave,创建源文件,2. 点击FileNewSource File ,创建一个新文件wave.c,保存到工程文件夹,添加工程文件,3. 将 tutorialsim28xxhello1 文件夹下的hello.cmd、vect

5、ors.asm 拷贝到工程文件夹,改名 hello.cmd wave.cmd 4. 添加wave.c、wave.cmd、vectors.asm到工程中,添加工程文件,5. 将库文件 tic2000cgtoolslibrts2800.lib 添加到工程中,出现在这里,设置编译参数,6. 点击ProjiectBuild Options,设置编译参数:填写堆、栈大小,其它可用缺省参数,堆、栈 大小,编译,7. 编译工程、排查错误,编译、运行,8. 点击FileLoad Program,将debugwave.out加载到(仿真)目标板 9. 点击DebugGo Main 10.设置运行断点,全速运行,

6、调试观察变量,11.打开观察窗,在Watch1中增加变量s,观察其数值 12.打开存储器窗,设置属性,观察结果,调试图形观察,13.点击ViewGraphTime/Frequency,设置图形显示,调试图形观察,14.最后,全速运行,在stdout窗看到“Hello!”,15.点击FileWorkspaceSave Workspace,保存调试环境,便于以后FileWorkspaceLoad Workspace即可迅速恢复当前设置,5-2 TMS320C281X C语言简介,5 DSP编程方法,C语言基础知识F281X C语言编程要点,C语言基础知识 (略),F281X C语言编程要点,位段结

7、构,struct bytedataunsigned a:2; /* 位段a占2位 */unsigned :6; /* 无名位段占6位,不能访问 */unsigned :0; /* 无名位段占0位,从下一边界开始 */unsigned b:10; /* 位段b占10位 */int i; /* 成员i,从下一边界开始*/ data;,关键字,interrupt,说明函数是中断函数 interrupt void int_handler(void) typedef,对已存在的类型增加一个类型名,简化书写 typedef interrupt void (*PINT)(void); 增加函数类型指针 st

8、ruct PIE_VECT_TABLE PINT PIE1_RESERVED;PINT PIE1_RESERVED; ,无参数调用 无参数返回 系统自动按中断函数编译,关键字,const,其修饰变量的值不改变,因而通常加载到已初始化段 const float SinTable = 0.0, 0.015, volatile,其修饰变量的值易改变 int *pXX; volatile int *pXX; while(pXX!=0xFF); while(pXX!=0xFF);,MOV AR1, pXX L1: MOV AL, AR1 L2: CMP AL, #0xFFSB L2, NE,MOV AR

9、1, pXX L1: MOV AL, AR1 L2: CMP AL, #0xFFSB L1, NE,关键字,asm,C语言中嵌入汇编语言程序 asm(” NOP ”); ” ”中必须是合法的汇编语言cregister,说修饰变量如果与F281x寄存器同名,编译器认为是硬件寄存器 extern cregister volatile unsigned int IER; extern cregister volatile unsigned int IFR; IER, IFR 直接作为中断使能、中断标志寄存器使用,存储器模型,DSP处理器有两种类型的存储器模型: 程序存储器、数据存储器 程序存储器装载

10、可执行代码 数据存储器装载外部变量、静态变量、堆栈、中间结果 程序代码或数据以段的形式装载于存储器中 C语言程序经C编译器编译后,生成多个可重定位的段,分为 已初始化段、未初始化段 已初始化段: .text段,包括可执行代码、字符串和常量 .cinit段、.pinit段,包括初始化变量和常量表 .const段,包括字符串常量和以const关键字定义的常量 .econst段,字符串常量、far const常量,初始化后放进远存储器 .switch段,为.const语句建立的表格,存储器模型,未初始化段: .bss段,保留全局和静态变量空间。程序开始运行时,引导程序将数据从.cinit段拷贝到.b

11、ss段.ebss段,保留全局和静态变量空间。变量声明是远(far)或者大型存储器模型使用。程序开始运行时,引导程序将数据从.cinit段拷贝到.ebss段.stack段,为C的系统堆栈分配存储空间,用于变量的传递。.sysmem段,为动态存储器函数malloc、calloc、realloc分配存储器空间。若C程序未用到此类函数,则C编译器不产生该段。,链接命令文件,链接命令文件(.cmd文件)定义了存储器结构和段存放方式.text、.cinit、.switch段链接到系统的ROM或者RAM中但必须放在程序段( page0 ).const段链接到系统的ROM或者RAM中但必须放在数据段( pag

12、el ).bss、.stack、.sysmem段链接到系统的RAM必须放在数据段( pagel ),F2812链接命令文件举例,MEMORY PAGE 0 : PROG : origin = 0x3f8000, length = 0x001fffRESET : origin = 0x0, length = 0x3fPAGE 1: DATA : origin = 0x008000, length = 0x001fff SECTIONS .reset : load = RESET, PAGE = 0 /* 复位段 */ .text : load = PROG, PAGE = 0 /* 可执行代码段

13、 */.cinit : load = PROG, PAGE = 0 /* 初始化变量和常数段 */.vectors : load = PROG, PAGE = 0 /* 中断向量表段 */.stack : load = DATA, PAGE = 1 /* C堆栈段 */.data : load = DATA, PAGE = 1 /* C堆栈段 */.ebss : load = DATA, PAGE = 1 /* 汇编数据段 */.bss : load = DATA, PAGE = 1 /* 全局和静态变量空间段 */.econst : load = DATA, PAGE = 1 /* 扩展常量

14、段 */.const : load = DATA, PAGE = 1 /* 常量、全局和静态变量段 */.cio : load = DATA, PAGE = 1 /* CIO段 */ ,C语言中定义存储段举例,在DSP28_GlobalVariableDefs.c中的存储段定义: #pragma DATA_SECTION(AdcRegs,“AdcRegsFile“); volatile struct ADC_REGS AdcRegs; #pragma DATA_SECTION(CpuTimer0Regs,“CpuTimer0RegsFile“); volatile struct CPUTIME

15、R_REGS CpuTimer0Regs;在.cmd文件中则定义段所在的存储空间 MEMORY PAGE 0 : PRAMH0 : origin = 0x3f8000, length = 0x002000PAGE 1 : CPU_TIMER0 : origin = 0x000C00, length = 0x000008ADC : origin = 0x007100, length = 0x000020 SECTIONS CpuTimer0RegsFile : CPU_TIMER0, PAGE = 1 AdcRegsFile : ADC, PAGE = 1 ,5-3 典型F281X C 工程文件

16、的结构介绍,5 DSP编程方法,CCS文件类型F2812设备文件,CCS文件类型,CCS文件类型,project.pjt CCS使用的工程文件 program.c. C程序源文件 program.asm 汇编程序源文件 filename.h C程序头文件(含DSP/BIOS API模块头文件) filename.lib 库文件 project.cmd 链接命令文件 program.obj 由源文件编译或汇编而得的目标文件 program.out (经完整编译、汇编以及链接的)可执行文件 project.wks 存储环境设置信息的工作区文件 program.cdb 配置数据库文件。采用DSP/BIOS API的应用程序需要此类文件,其它应用程序则可选,F2812设备文件,F2812设备文件,请自我学习设备文件内容,7-4 在F2182内部Flash 存储器中运行应用程序,7-4 在内部Flash 中运行应用程序,5 DSP编程方法,自学教材,自学参考 阅读例程,逐句解释,Flash运行,请继续下一章的学习,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 往来文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报