DSP软件开发与C语言编程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《DSP软件开发与C语言编程课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 软件 开发 语言 编程 课件
- 资源描述:
-
1、2022-7-18山东大学控制学院 张东亮1第4章 DSP的软件开发与C语言编程本章内容:本章内容:4.1 DSP开发工具与软件开发流程开发工具与软件开发流程4.2 集成开发环境集成开发环境CCS4.3 DSP的的C工程文件工程文件 4.4 DSP C语言程序设计基础语言程序设计基础4.5 DSP C程序举例程序举例2022-7-18山东大学控制学院 张东亮2 4.1 DSP开发工具与软件开发流程开发工具与软件开发流程1.DSP开发工具开发工具硬件硬件 TI XDS510(Extended Development System)硬件仿真器。硬件仿真器。DSK(DSP Starter Kit)初
2、学者开发套件。初学者开发套件。瑞泰瑞泰 ICETEK-5100PP/USB DSP开发系统。开发系统。评估板。评估板。DSP教学实验系统教学实验系统。开发工具包括硬件、软件两部分。硬件部分主要是仿真开发工具包括硬件、软件两部分。硬件部分主要是仿真器器(Emulator),软件主要是集成开发环境,软件主要是集成开发环境CCS(Code Composer Studio)。DSP开发系统开发系统(仿真器仿真器)有有PCI插卡式、并口式、插卡式、并口式、USB接口接口式,目前多用式,目前多用USB接口式,即接口式,即DSP开发系统通过开发系统通过USB接口与接口与PC机相连,开发系统通过机相连,开发系
3、统通过JTAG(基于扫描的仿真)接口与(基于扫描的仿真)接口与用户目标板相连,实现用户目标板相连,实现DSP软硬件调试与程序烧写。软硬件调试与程序烧写。2022-7-18山东大学控制学院 张东亮3 DSP评估板评估板(也称为也称为EVM板、目标板、板、目标板、DEMO板、实验板、实验板等板等),包括基本的,包括基本的DSP芯片及必要的电源、时钟、复位电路芯片及必要的电源、时钟、复位电路外,还经常包括用于程序调试的片外扩展存储器、扩展的外,还经常包括用于程序调试的片外扩展存储器、扩展的A/D、D/A转换器、键盘显示电路、转换器、键盘显示电路、EEPROM、RS232串行串行接口、接口、SPI接口
4、、接口、CAN接口驱动电路、简单应用电路等。接口驱动电路、简单应用电路等。F2812DSP评估板评估板2022-7-18山东大学控制学院 张东亮4F2812DSP评估板评估板原理框图原理框图开发系统开发系统与评估板与评估板TMS320F2812JTAGJTAG16路模拟量A/D150MHZ18KW RAM128KW Flash总线64KW RAM扩展引脚数据地址控制I/O4路D/ACPLDLED4个开关CANCANRS-232UART驱动驱动2022-7-18山东大学控制学院 张东亮52812 EVM板的主要性能指标如下:板的主要性能指标如下:(1)TMS320F2812,运行速度,运行速度1
5、50MIPS。(2)片内片内RAM 18K字。字。(3)扩展扩展RAM 64K字。字。(4)片内片内16路路12位位A/D转换器转换器,最大采样速率最大采样速率12.5MSPS。(5)扩展的扩展的4路路12位位D/A转换器转换器DAC7617。(6)两路两路UART串行接口,符合串行接口,符合RS-232C标准。标准。(7)16路路PWM输出。输出。(8)CAN总线标准接口。总线标准接口。(9)用户开关与指示灯。用户开关与指示灯。(10)片内片内128K字字Flash存储器,带存储器,带128位加密位。位加密位。(11)IEEE1149.1兼容的逻辑扫描电路即兼容的逻辑扫描电路即JTAG接口,
6、用于仿真调试。接口,用于仿真调试。(12)+5V电源输入电源输入,板上板上3.3V,1.8V电源管理。电源管理。2022-7-18山东大学控制学院 张东亮62022-7-18山东大学控制学院 张东亮72.软件开发流程软件开发流程软件开发流程框图软件开发流程框图 2022-7-18山东大学控制学院 张东亮8 软件开发流程软件开发流程 1)编辑编辑:生成源程序(:生成源程序(*.asm,*.c)、头文件)、头文件(*.h)与命令文件与命令文件(*.cmd)。2)编译与汇编编译与汇编:生成目标文件:生成目标文件(*.obj,公共目标文件,公共目标文件COFF格式格式)及列表文件及列表文件(*.lst
7、)。3)连接连接:生成可执行代码文件:生成可执行代码文件(*.out)及映射文件及映射文件(*.map)。4)调试调试:通过:通过JTAG接口下载到目标系统接口下载到目标系统EVM。5)通过通过JTAG接口将程序接口将程序固化固化烧写到烧写到Flash 存储器存储器。2022-7-18山东大学控制学院 张东亮9 软件开发工具主要有软件开发工具主要有 源程序编辑器源程序编辑器(Editor)编译器编译器(Compiler)汇编器汇编器(Assembler)链接器链接器(Linker)归档器归档器(Archiver)运行时支持库运行时支持库(Run-Time-Support Library)库建立
8、程序库建立程序(Library-build Utility)HEX转换程序转换程序(Hex Conversion Utility)3.软件工具软件工具2022-7-18山东大学控制学院 张东亮10 绝对列表器绝对列表器(Absolute Lister)和交叉引用列表器和交叉引用列表器(Cross-Reference Lister)调试工具调试工具(Debugging tools)C+名称复原程序名称复原程序(C+Name Demangling Utility)GEL语言语言(General Extension Language,通用扩展语言,通用扩展语言)DSP/BIOS等。等。2022-7-
9、18山东大学控制学院 张东亮111.CCS软件安装与设置软件安装与设置CCS2.0 C2000 (CCS3.3)驱动程序设置。驱动程序设置。Simulator:PC模拟软件仿真。模拟软件仿真。Emulator:实时实时DSP硬件仿真。硬件仿真。4.2 集成开发环境集成开发环境CCS2022-7-18山东大学控制学院 张东亮12CCS运行主窗口运行主窗口 2022-7-18山东大学控制学院 张东亮13CCS主要工具主要工具 源程序编辑器源程序编辑器(Editor)。C编译器(编译器(C Compiler)。)。汇编器(汇编器(Assembler)。)。连接器(连接器(Linker)。)。调试工具
10、调试工具(Debug)。十六进制转换公用程序十六进制转换公用程序(Hex Conversion Utility)。2022-7-18山东大学控制学院 张东亮142.CCS主要菜单与功能主要菜单与功能 典型的典型的CCS运行界面如图所示。运行界面如图所示。CCS的功能可以通的功能可以通过菜单或工具条按钮实现。主要的菜单项有过菜单或工具条按钮实现。主要的菜单项有File、Edit、View、Project、Debug等。这些菜单的使用与常用的集等。这些菜单的使用与常用的集成开发软件成开发软件Visual C+等使用方法基本一样。等使用方法基本一样。2022-7-18山东大学控制学院 张东亮15典型
11、典型CCS运行界面运行界面2022-7-18山东大学控制学院 张东亮16Code Composer Studio ComponentsRobust,Easy-to-Use Development Environment2022-7-18山东大学控制学院 张东亮17 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 processor.Imp
12、lemented in silicon,not by a debug monitor:Easy-to-use,no application resources requiredInterrupt void ISR_1()Main()function()Halt and single step non-time critical codeTime-critical interrupts are still serviced.In Control,If The Processor Stops,The System Can Go Out Of Control2022-7-18山东大学控制学院 张东亮
13、18File菜单菜单2022-7-18山东大学控制学院 张东亮19Project菜单菜单2022-7-18山东大学控制学院 张东亮20View菜单2022-7-18山东大学控制学院 张东亮21Debug菜单菜单2022-7-18山东大学控制学院 张东亮223.采用采用CCS开发应用程序的步骤开发应用程序的步骤1)创建一个新工程创建一个新工程(project)。2)编辑源程序编辑源程序(*.asm,*.c)与连接命令文件与连接命令文件(*.cmd)。3)将文件添加到该工程中将文件添加到该工程中(*.asm,*.c,*.h,*.cmd)。4)编译汇编连接。编译汇编连接。5)装载程序。装载程序。6)
14、调试程序。调试程序。7)程序固化。程序固化。2022-7-18山东大学控制学院 张东亮23调试程序调试程序 连续运行与单步运行。连续运行与单步运行。设置断点。设置断点。查看与修改存储单元。查看与修改存储单元。查看与修改寄存器内容。查看与修改寄存器内容。观察和编辑变量。观察和编辑变量。程序程序Animate运行和数据图形显示。运行和数据图形显示。2022-7-18山东大学控制学院 张东亮24C工程工程(Project)几种基本文件几种基本文件 CCS工程文件工程文件(扩展名为扩展名为.pjt)。由。由CCS自动生成。在自动生成。在CC(Code Composer)软件环境中,扩展名为软件环境中,
15、扩展名为.mak。源程序源程序:汇编语言文件汇编语言文件(*.asm),C文件文件(*.c)。头文件头文件(*.h):定义寄存器映射地址,用户自定义的常量定义寄存器映射地址,用户自定义的常量等。例如,头文件等。例如,头文件DSP281x_Adc.h定义了定义了ADC寄存器寄存器,头文件头文件DSP281x_PieVec.h定义了定义了PIE中断矢量。中断矢量。链接命令文件链接命令文件(*.cmd)。)。库文件库文件(*.lib)。)。运行时支持库运行时支持库rts2800_ml.lib。目标文件目标文件(*.obj):COFF公共目标文件格式。公共目标文件格式。列表文件列表文件(*.lst):
16、汇编生成的文件。:汇编生成的文件。映射文件映射文件(*.map):存储器分配。存储器分配。可执行代码文件可执行代码文件(*.out)。4.3 DSP 的的C工程文件工程文件2022-7-18山东大学控制学院 张东亮254.3.1 公共目标文件格式公共目标文件格式COFF 编译、汇编与链接程序建立的目标文件采用共用目标编译、汇编与链接程序建立的目标文件采用共用目标文件格式(文件格式(Common Object File Format,COFF),便于),便于模块化编程、管理代码段和存储器,即不必为程序代码或模块化编程、管理代码段和存储器,即不必为程序代码或变量指定目标地址。变量指定目标地址。汇编
17、器根据命令用适当的段将各部分程序代码和数据汇编器根据命令用适当的段将各部分程序代码和数据连在一起,构成目标文件。链接器分配存储单元,即把各连在一起,构成目标文件。链接器分配存储单元,即把各个段重新定位到目标存储器中。个段重新定位到目标存储器中。段段(section,也称为块,也称为块)是目标文件的最小单位,是在是目标文件的最小单位,是在存储器中占据连续空间的代码和数据块,各段相互独立。存储器中占据连续空间的代码和数据块,各段相互独立。2022-7-18山东大学控制学院 张东亮26.bss.data.text RAM Flash Flash 目标文件 目标存储器 目标文件中段与目标存储器之间的关
18、系目标文件中段与目标存储器之间的关系 汇编器的汇编器的COFF文件格式包括三个默认的段:文件格式包括三个默认的段:.text段,即程序段段,即程序段,该段通常包含可执行代码即程序。该段通常包含可执行代码即程序。.data段,即数据段段,即数据段,该段通常包含已初始化的数据。该段通常包含已初始化的数据。.bss段,即保留数据空间段段,即保留数据空间段,该段通常为未初始化的数据保留空间。该段通常为未初始化的数据保留空间。2022-7-18山东大学控制学院 张东亮27 汇编器和链接器允许用户建立和链接自定义的段。汇编器和链接器允许用户建立和链接自定义的段。所有段可以分为初始化段和未初始化段两类。初始
19、化所有段可以分为初始化段和未初始化段两类。初始化段包含程序代码和数据。未初始化段则为未初始化的段包含程序代码和数据。未初始化段则为未初始化的数据保留存储空间。汇编命令数据保留存储空间。汇编命令.sect和和.usect可以分别用可以分别用来创建自定义的初始化段和未初始化段。来创建自定义的初始化段和未初始化段。C编译器对编译器对C程序编译后也产生初始化段和未初始程序编译后也产生初始化段和未初始化段两类,具体的段名稍有不同,除了不使用化段两类,具体的段名稍有不同,除了不使用.data段段之外,还产生一些新的段。之外,还产生一些新的段。2022-7-18山东大学控制学院 张东亮28 编译器对编译器对
20、C语言编译后除了生成语言编译后除了生成2个基本段,即个基本段,即.text、.bss外外,还生成其他一些段。还生成其他一些段。可分为初始化段和未初始化段。可分为初始化段和未初始化段。初始化段初始化段包含可执行代码或常数表。包含可执行代码或常数表。C编译器产生的初始编译器产生的初始化段有化段有.pint、.const、.econst、.text、.cinit、.switch。.text段,包含可执行代码和常量段,包含可执行代码和常量(constant)。.cinit段和段和.pint段,包含初始化变量和常量。段,包含初始化变量和常量。.const段,包含串常量,全局变量、静态变量的声明和初始化。
21、段,包含串常量,全局变量、静态变量的声明和初始化。.econst段,包含串常量,全局变量、静态变量的声明和初始段,包含串常量,全局变量、静态变量的声明和初始化。变量由化。变量由far const修饰,或用大存储器模型,初始化后放进修饰,或用大存储器模型,初始化后放进远远(far)存储器。存储器。.switch段,包含段,包含switch语句表。语句表。2022-7-18山东大学控制学院 张东亮29未初始化段未初始化段用于保留存储器用于保留存储器(通常为通常为RAM)空间。空间。C编译器编译器产生的为初始化段有产生的为初始化段有.bss、.ebss、.stack、.sysmem和和.esysme
22、m段。段。.bss段,为全局和静态变量保留空间。段,为全局和静态变量保留空间。.ebss段,为全局和静态变量保留空间。变量由段,为全局和静态变量保留空间。变量由far 修饰,修饰,或用大存储器模型使用。或用大存储器模型使用。.stack段,为段,为C系统堆栈。用于保护函数的返回地址、分系统堆栈。用于保护函数的返回地址、分配局部变量、调用函数时传递参数。配局部变量、调用函数时传递参数。.sysmem段段,为动态存储器分配保留空间为动态存储器分配保留空间,malloc函数使用。函数使用。.esysmem段段,为动态存储器分配保留空间,为动态存储器分配保留空间,far malloc函数函数使用。使用
23、。2022-7-18山东大学控制学院 张东亮30初始化段链接初始化段链接 段名称段名称描述描述限制限制.text可执行代码和常量可执行代码和常量程序程序.cint已初始化的全局与静态变量的已初始化的全局与静态变量的C初始初始化记录化记录低低64K数据数据.pint全局构造器全局构造器(C+constructor)表表程序程序.switch实现实现switch语句表语句表程序程序/低低64K数数据据.const已初始化的全局与静态已初始化的全局与静态const修饰变量,修饰变量,串常量串常量低低64K数据数据.econstfar costant变量变量数据任何位置数据任何位置2022-7-18山
24、东大学控制学院 张东亮31未初始化段链接未初始化段链接 段名称段名称内容内容限制限制.bss全局与静态变量全局与静态变量低低64K数据数据.ebssfar全局与静态变量全局与静态变量数据任何位置数据任何位置.stack堆栈空间堆栈空间低低64K数据数据.sysmemmalloc函数存储区函数存储区低低64K数据数据.esysmemfar malloc函数存储区函数存储区数据任何位置数据任何位置2022-7-18山东大学控制学院 张东亮32存储器映射表存储器映射表 段段(Section)存储器类型存储器类型(Type of Memory)页面页面(Page).textROM 或或RAM0.cin
25、tROM 或或RAM0.pintROM 或或RAM0.switchROM 或或RAM0,1.constROM 或或RAM1.econstROM 或或RAM1.bssRAM1.ebssRAM1.stackRAM1.sysmemRAM1.esysmemRAM12022-7-18山东大学控制学院 张东亮334.3.2 链接命令文件链接命令文件 CCS的链接器可以有很多选项,如的链接器可以有很多选项,如-l(包含库文件包含库文件)、-stack(定义堆栈定义堆栈)、-o(定义输出文件定义输出文件)等,并且将用户软件定等,并且将用户软件定义的段与目标系统存储器物理地址对应关系定义清楚。义的段与目标系统存
展开阅读全文