DSP原理与应用 教学课件 ppt 作者 张东亮第4章DSP软件开发与C语言编程

上传人:w****i 文档编号:92482372 上传时间:2019-07-10 格式:PPT 页数:72 大小:1.48MB
返回 下载 相关 举报
DSP原理与应用 教学课件 ppt 作者 张东亮第4章DSP软件开发与C语言编程_第1页
第1页 / 共72页
DSP原理与应用 教学课件 ppt 作者 张东亮第4章DSP软件开发与C语言编程_第2页
第2页 / 共72页
DSP原理与应用 教学课件 ppt 作者 张东亮第4章DSP软件开发与C语言编程_第3页
第3页 / 共72页
DSP原理与应用 教学课件 ppt 作者 张东亮第4章DSP软件开发与C语言编程_第4页
第4页 / 共72页
DSP原理与应用 教学课件 ppt 作者 张东亮第4章DSP软件开发与C语言编程_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《DSP原理与应用 教学课件 ppt 作者 张东亮第4章DSP软件开发与C语言编程》由会员分享,可在线阅读,更多相关《DSP原理与应用 教学课件 ppt 作者 张东亮第4章DSP软件开发与C语言编程(72页珍藏版)》请在金锄头文库上搜索。

1、1,第4章 DSP的软件开发与C语言编程,本章内容: 4.1 DSP开发工具与软件开发流程 4.2 集成开发环境CCS 4.3 DSP的C工程文件 4.4 DSP C语言程序设计基础 4.5 DSP C程序举例,2,4.1 DSP开发工具与软件开发流程,1. DSP开发工具 硬件 TI XDS510 (Extended Development System)硬件仿真器。 DSK(DSP Starter Kit)初学者开发套件。 瑞泰 ICETEK-5100PP/USB DSP开发系统。 评估板。 DSP教学实验系统 。,开发工具包括硬件、软件两部分。硬件部分主要是仿真器(Emulator),软

2、件主要是集成开发环境CCS (Code Composer Studio)。,DSP开发系统(仿真器)有PCI插卡式、并口式、USB接口式,目前多用USB接口式,即DSP开发系统通过USB接口与PC机相连,开发系统通过JTAG(基于扫描的仿真)接口与用户目标板相连,实现DSP软硬件调试与程序烧写。,3,DSP评估板(也称为EVM板、目标板、 DEMO板、实验板等),包括基本的DSP芯片及必要的电源、时钟、复位电路外,还经常包括用于程序调试的片外扩展存储器、扩展的A/D、D/A转换器、键盘显示电路、EEPROM、RS232串行接口、SPI接口、CAN接口驱动电路、简单应用电路等。,4,2407DS

3、P 评估板原理框图,5,2407 EVM板的主要性能指标如下: 1) TMS320LF2407A,运行速度40MIPS。 2) 片内RAM 2.5KW。 3) 扩展RAM 64KW。 4) 片内16路10位A/D转换器,采样时间375ns。 5) 扩展的4路12位D/A转换器DAC7617。 6) UART串行接口,符合RS-232C标准。 7) 16路PWM输出。 8) CAN总线接口。 9) 用户开关与指示灯。 10) 片内32KW Flash存储器。 11) JTAG接口,用于仿真调试与Flash程序烧写。 12) +5V电源输入, 板上3.3V电源管理。,6,7,2. 软件开发流程,软

4、件开发流程框图,8,软件开发流程,1)编辑:生成源程序(*.asm, *.c)、头文件(*.h) 与命令文件(*.cmd)。 2)编译与汇编:生成目标文件(*.obj ,公共目标文件COFF格式)及列表文件(*.lst)。 3)连接:生成可执行代码文件(*.out)及映射文件(*.map)。 4)调试:通过JTAG接口下载到目标系统EVM。 5) 通过JTAG接口将程序固化烧写到Flash 存储器 。,9,软件开发工具主要有 源程序编辑器(Editor) 编译器(Compiler) 汇编器(Assembler) 链接器(Linker) 归档器(Archiver) 运行时支持库(Run-Time

5、-Support Library) 库建立程序(Library-build Utility) HEX转换程序(Hex Conversion Utility),3. 软件工具,10,绝对列表器(Absolute Lister)和交叉引用列表器(Cross-Reference Lister) 调试工具(Debugging tools) C+名称复原程序(C+ Name Demangling Utility) GEL语言 (General Extension Language,通用扩展语言) DSP/BIOS等。,11,1. CCS软件安装与设置,CCS2.0 C2000 (CCS3.3) 驱动程序

6、设置。 Simulator: PC模拟软件仿真。 Emulator: 实时DSP硬件仿真。,4.2 集成开发环境CCS,12,CCS运行主窗口,13,CCS主要工具,源程序编辑器(Editor)。 C编译器(C Compiler)。 汇编器(Assembler)。 连接器(Linker)。 调试工具(Debug)。 十六进制转换公用程序(Hex Conversion Utility)。,14,2. CCS主要菜单与功能,典型的CCS运行界面如图所示。CCS的功能可以通过菜单或工具条按钮实现。主要的菜单项有File、Edit、View、Project、Debug等。这些菜单的使用与常用的集成开发

7、软件Visual C+等使用方法基本一样。,15,典型CCS运行界面,16,Code Composer Studio Components Robust, Easy-to-Use Development Environment,17,Real-time Debugging,Allows you to halt in non-critical code for debug while time-critical interrupts continue to be serviced. Access memory and registers without stopping the processo

8、r. Implemented in silicon, not by a debug monitor: Easy-to-use, no application resources required,Halt and single step non-time critical code,Time-critical interrupts are still serviced.,In Control, If The Processor Stops, The System Can Go Out Of Control,18,File菜单,19,Project菜单,20,View菜单,21,Debug菜单,

9、22,3. 采用CCS开发应用程序的步骤,创建一个新工程(project)。 编辑源程序(*.asm, *.c)与连接命令文件(*.cmd) 。 将文件添加到该工程中(*.asm, *.c, *.h, *.cmd)。 编译汇编连接。 装载程序。 调试程序。 程序固化。,23,调试程序,连续运行与单步运行。 设置断点。 查看与修改存储单元。 查看与修改寄存器内容。 观察和编辑变量。 程序Animate运行和数据图形显示。,24,C工程(Project)几种基本文件,CCS工程文件(扩展名为.pjt)。由CCS自动生成。在CC(Code Composer)软件环境中,扩展名为.mak。 源程序:

10、汇编语言文件(*.asm), C文件(*.c)。 头文件(*.h): 定义寄存器映射地址,用户自定义的常量等。例如用于C程序的片内外设寄存器地址定义头文件f2407_c.h,用于汇编语言程序的片内外设寄存器定义头文件F2407REGS_A.h等。 链接命令文件(*.cmd)。 库文件(*.lib)。 C24x运行时支持库为rts2xx.lib。 目标文件(*.obj):COFF公共目标文件格式。 列表文件(*.lst):汇编生成的文件。 映射文件(*.map): 存储器分配。 可执行代码文件(*.out)。,4.3 DSP 的C工程文件,25,4.3.1 公共目标文件格式COFF,编译、汇编与

11、链接程序建立的目标文件采用共用目标文件格式(Common Object File Format, COFF),便于模块化编程、管理代码段和存储器,即不必为程序代码或变量指定目标地址。 汇编器根据命令用适当的段将各部分程序代码和数据连在一起,构成目标文件。链接器分配存储单元,即把各个段重新定位到目标存储器中。 段(section,也称为块)是目标文件的最小单位,是在存储器中占据连续空间的代码和数据块,各段相互独立。,26,目标文件中段与目标存储器之间的关系,汇编器的COFF文件格式包括三个默认的段: .text段,即程序段,该段通常包含可执行代码即程序。 .data段,即数据段,该段通常包含已初

12、始化的数据。 .bss段,即保留数据空间段,该段通常为未初始化的数据保留空间。,27,汇编器和链接器允许用户建立和链接自定义的段。所有段可以分为初始化段和未初始化段两类。初始化段包含程序代码和数据。未初始化段则为未初始化的数据保留存储空间。汇编命令.sect和.usect可以分别用来创建自定义的初始化段和未初始化段。,C编译器对C程序编译后也产生初始化段和未初始化段两类,具体的段名稍有不同,除了不使用.data段之外,还产生一些新的段。,28,编译器对C语言编译后除了生成2个基本段,即.text、.bss外,还生成其他一些段。 可分为初始化段和未初始化段。 初始化段包含可执行代码或常数表。C编

13、译器产生的初始化段有 .pint、.const、.text、.cinit、.switch 。 .text段,包含可执行代码和常量(constant)。 .cinit段和.pint段,包含初始化变量和常量。 .const段,包含串常量,全局变量、静态变量的声明和初始化。 .switch段,包含switch语句表。,29,未初始化段用于保留存储器(通常为RAM)空间。C编译器产生的为初始化段有.bss、.stack、.sysmem段。 .bss段,为全局和静态变量保留空间。 .stack段,为C系统堆栈。用于保护函数的返回地址、分配局部变量、调用函数时传递参数。 .sysmem段,为动态存储器分配

14、保留空间, malloc函数使用。,30,初始化段链接,31,未初始化段链接,32,存储器映射表,33,4.3.2 链接命令文件,CCS的链接器可以有很多选项,如-l(包含库文件)、-stack(定义堆栈)、-o(定义输出文件)等,并且将用户软件定义的段与目标系统存储器物理地址对应关系定义清楚。 链接器选项的实现通常采用工程选项菜单或链接器命令文件(.cmd)两种方法。 编写一个链接器命令文件,将所有链接器选项写在文件中,并将此文件加入到工程,这样CCS在进行编译链接时,会自动按照链接器命令文件中的选项进行。 有两条链接器命令MEMORY和SECTIONS可以实现对程序存储器和数据存储器空间的

15、分配。MEMORY命令定义目标存储器的配置,SECTIONS命令定义编程段与目标存储器的关系。,34,MEMORY命令,MEMORY命令定义目标系统中可以使用的存储器范围,每个存储器范围具有名字、起始地址和长度。一般形式为 MEMORY PAGE 0: name: origin=constant, length=constant; PAGE n: name: origin=constant, length=constant; PAGE n:定义存储器空间。n=0254. 通常PAGE 0定义程序存储器,PAGE 1定义数据存储器。 name:存储器范围名字。可以是18个字符。 origin或简

16、写为o:存储器范围的起始地址。 length或简写为l:存储器范围的长度。,35,SECTIONS命令,SECTIONS命令用于将输出各段定位到所定义的存储器。一般形式为 SECTIONS name: property, property, name: property, property, 在段名之后是是特性列表,定义段的内容以及是怎样分配的。段的特性(property)是装载位置、运行位置、输入段、段类型等。通常的特性符号“”表示输出段装载位置。,36,4.4 DSP C语言程序设计基础,4.4.1 数据类型 4.4.2 C语言运算符与基本语句 4.4.3 函数 4.4.4 指针 4.4.5 编译预处理命令 4.4.6 C语言与汇编语言混合编程 4.4.7 C28x DSP编译器的关键字,37,C语言程序设计优缺点,汇编语言程序设计: 执行速度快。 开发周期长、移植性和可读性差 。,C语言程序设计: 开发周期短、移植性和可读性好。 执行速度可以满足要求。,38,C28x DSP具有优化的C编译器,它支持

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号