第4章DSP软件开发与C语言编程

上传人:012****78 文档编号:132704994 上传时间:2020-05-19 格式:PPT 页数:79 大小:2.02MB
返回 下载 相关 举报
第4章DSP软件开发与C语言编程_第1页
第1页 / 共79页
第4章DSP软件开发与C语言编程_第2页
第2页 / 共79页
第4章DSP软件开发与C语言编程_第3页
第3页 / 共79页
第4章DSP软件开发与C语言编程_第4页
第4页 / 共79页
第4章DSP软件开发与C语言编程_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《第4章DSP软件开发与C语言编程》由会员分享,可在线阅读,更多相关《第4章DSP软件开发与C语言编程(79页珍藏版)》请在金锄头文库上搜索。

1、19 05 2020 1 第4章DSP的软件开发与C语言编程 本章内容 4 1DSP开发工具与软件开发流程4 2集成开发环境CCS4 3DSP的C工程文件4 4DSPC语言程序设计基础4 5DSPC 19 05 2020 山东大学控制学院张东亮 2 4 1DSP开发工具与软件开发流程 1 DSP开发工具硬件TIXDS510 ExtendedDevelopmentSystem 硬件仿真器 DSK DSPStarterKit 初学者开发套件 瑞泰ICETEK 5100PP USBDSP开发系统 评估板 DSP教学实验系统 开发工具包括硬件 软件两部分 硬件部分主要是仿真器 Emulator 软件主

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

3、电路等 F2812DSP评估板 19 05 2020 山东大学控制学院张东亮 4 F2812DSP评估板原理框图 开发系统与评估板 19 05 2020 山东大学控制学院张东亮 5 2812EVM板的主要性能指标如下 1 TMS320F2812 运行速度150MIPS 2 片内RAM18K字 3 扩展RAM64K字 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位加密

4、位 11 IEEE1149 1兼容的逻辑扫描电路即JTAG接口 用于仿真调试 12 5V电源输入 板上3 3V 1 8V电源管理 19 05 2020 山东大学控制学院张东亮 6 19 05 2020 山东大学控制学院张东亮 7 2 软件开发流程 软件开发流程框图 19 05 2020 山东大学控制学院张东亮 8 软件开发流程 1 编辑 生成源程序 asm c 头文件 h 与命令文件 cmd 2 编译与汇编 生成目标文件 obj 公共目标文件COFF格式 及列表文件 lst 3 连接 生成可执行代码文件 out 及映射文件 map 4 调试 通过JTAG接口下载到目标系统EVM 5 通过JTA

5、G接口将程序固化烧写到Flash存储器 19 05 2020 山东大学控制学院张东亮 9 软件开发工具主要有源程序编辑器 Editor 编译器 Compiler 汇编器 Assembler 链接器 Linker 归档器 Archiver 运行时支持库 Run Time SupportLibrary 库建立程序 Library buildUtility HEX转换程序 HexConversionUtility 3 软件工具 19 05 2020 山东大学控制学院张东亮 10 绝对列表器 AbsoluteLister 和交叉引用列表器 Cross ReferenceLister 调试工具 Debu

6、ggingtools C 名称复原程序 C NameDemanglingUtility GEL语言 GeneralExtensionLanguage 通用扩展语言 DSP BIOS等 19 05 2020 山东大学控制学院张东亮 11 1 CCS软件安装与设置 CCS2 0 C2000 CCS3 3 驱动程序设置 Simulator PC模拟软件仿真 Emulator 实时DSP硬件仿真 4 2集成开发环境CCS 19 05 2020 山东大学控制学院张东亮 12 CCS运行主窗口 19 05 2020 山东大学控制学院张东亮 13 CCS主要工具 源程序编辑器 Editor C编译器 CCo

7、mpiler 汇编器 Assembler 连接器 Linker 调试工具 Debug 十六进制转换公用程序 HexConversionUtility 19 05 2020 山东大学控制学院张东亮 14 2 CCS主要菜单与功能 典型的CCS运行界面如图所示 CCS的功能可以通过菜单或工具条按钮实现 主要的菜单项有File Edit View Project Debug等 这些菜单的使用与常用的集成开发软件VisualC 等使用方法基本一样 19 05 2020 山东大学控制学院张东亮 15 典型CCS运行界面 19 05 2020 山东大学控制学院张东亮 16 CodeComposerStud

8、io ComponentsRobust Easy to UseDevelopmentEnvironment 19 05 2020 山东大学控制学院张东亮 17 Real timeDebugging Allowsyoutohaltinnon criticalcodefordebugwhiletime criticalinterruptscontinuetobeserviced Accessmemoryandregisterswithoutstoppingtheprocessor Implementedinsilicon notbyadebugmonitor Easy to use noappli

9、cationresourcesrequired Haltandsinglestepnon timecriticalcode Time criticalinterruptsarestillserviced InControl IfTheProcessorStops TheSystemCanGoOutOfControl 19 05 2020 山东大学控制学院张东亮 18 File菜单 19 05 2020 山东大学控制学院张东亮 19 Project菜单 19 05 2020 山东大学控制学院张东亮 20 View菜单 19 05 2020 山东大学控制学院张东亮 21 Debug菜单 19 05

10、 2020 山东大学控制学院张东亮 22 3 采用CCS开发应用程序的步骤 创建一个新工程 project 编辑源程序 asm c 与连接命令文件 cmd 将文件添加到该工程中 asm c h cmd 编译汇编连接 装载程序 调试程序 程序固化 19 05 2020 山东大学控制学院张东亮 23 调试程序 连续运行与单步运行 设置断点 查看与修改存储单元 查看与修改寄存器内容 观察和编辑变量 程序Animate运行和数据图形显示 19 05 2020 山东大学控制学院张东亮 24 C工程 Project 几种基本文件 CCS工程文件 扩展名为 pjt 由CCS自动生成 在CC CodeComp

11、oser 软件环境中 扩展名为 mak 源程序 汇编语言文件 asm C文件 c 头文件 h 定义寄存器映射地址 用户自定义的常量等 例如 头文件DSP281x Adc h定义了ADC寄存器 头文件DSP281x PieVec h定义了PIE中断矢量 链接命令文件 cmd 库文件 lib 运行时支持库rts2800 ml lib 目标文件 obj COFF公共目标文件格式 列表文件 lst 汇编生成的文件 映射文件 map 存储器分配 可执行代码文件 out 4 3DSP的C工程文件 19 05 2020 山东大学控制学院张东亮 25 4 3 1公共目标文件格式COFF 编译 汇编与链接程序建

12、立的目标文件采用共用目标文件格式 CommonObjectFileFormat COFF 便于模块化编程 管理代码段和存储器 即不必为程序代码或变量指定目标地址 汇编器根据命令用适当的段将各部分程序代码和数据连在一起 构成目标文件 链接器分配存储单元 即把各个段重新定位到目标存储器中 段 section 也称为块 是目标文件的最小单位 是在存储器中占据连续空间的代码和数据块 各段相互独立 19 05 2020 山东大学控制学院张东亮 26 目标文件中段与目标存储器之间的关系 汇编器的COFF文件格式包括三个默认的段 text段 即程序段 该段通常包含可执行代码即程序 data段 即数据段 该段

13、通常包含已初始化的数据 bss段 即保留数据空间段 该段通常为未初始化的数据保留空间 19 05 2020 山东大学控制学院张东亮 27 汇编器和链接器允许用户建立和链接自定义的段 所有段可以分为初始化段和未初始化段两类 初始化段包含程序代码和数据 未初始化段则为未初始化的数据保留存储空间 汇编命令 sect和 usect可以分别用来创建自定义的初始化段和未初始化段 C编译器对C程序编译后也产生初始化段和未初始化段两类 具体的段名稍有不同 除了不使用 data段之外 还产生一些新的段 19 05 2020 山东大学控制学院张东亮 28 编译器对C语言编译后除了生成2个基本段 即 text bs

14、s外 还生成其他一些段 可分为初始化段和未初始化段 初始化段包含可执行代码或常数表 C编译器产生的初始化段有 pint const econst text cinit switch text段 包含可执行代码和常量 constant cinit段和 pint段 包含初始化变量和常量 const段 包含串常量 全局变量 静态变量的声明和初始化 econst段 包含串常量 全局变量 静态变量的声明和初始化 变量由farconst修饰 或用大存储器模型 初始化后放进远 far 存储器 switch段 包含switch语句表 19 05 2020 山东大学控制学院张东亮 29 未初始化段用于保留存储器

15、 通常为RAM 空间 C编译器产生的为初始化段有 bss ebss stack sysmem和 esysmem段 bss段 为全局和静态变量保留空间 ebss段 为全局和静态变量保留空间 变量由far修饰 或用大存储器模型使用 stack段 为C系统堆栈 用于保护函数的返回地址 分配局部变量 调用函数时传递参数 sysmem段 为动态存储器分配保留空间 malloc函数使用 esysmem段 为动态存储器分配保留空间 farmalloc函数使用 19 05 2020 山东大学控制学院张东亮 30 初始化段链接 19 05 2020 山东大学控制学院张东亮 31 未初始化段链接 19 05 20

16、20 山东大学控制学院张东亮 32 存储器映射表 19 05 2020 山东大学控制学院张东亮 33 4 3 2链接命令文件 CCS的链接器可以有很多选项 如 l 包含库文件 stack 定义堆栈 o 定义输出文件 等 并且将用户软件定义的段与目标系统存储器物理地址对应关系定义清楚 链接器选项的实现通常采用工程选项菜单或链接器命令文件 cmd 两种方法 编写一个链接器命令文件 将所有链接器选项写在文件中 并将此文件加入到工程 这样CCS在进行编译链接时 会自动按照链接器命令文件中的选项进行 有两条链接器命令MEMORY和SECTIONS可以实现对程序存储器和数据存储器空间的分配 MEMORY命令定义目标存储器的配置 SECTIONS命令定义编程段与目标存储器的关系 19 05 2020 山东大学控制学院张东亮 34 MEMORY命令 MEMORY命令定义目标系统中可以使用的存储器范围 每个存储器范围具有名字 起始地址和长度 一般形式为MEMORY PAGE0 name origin constant length constant PAGEn name origin constant

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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