第四章 DSP开发环境与工具 DSP原理及应用_第1页
第四章 DSP开发环境与工具 DSP原理及应用_第2页
第四章 DSP开发环境与工具 DSP原理及应用_第3页
第四章 DSP开发环境与工具 DSP原理及应用_第4页
第四章 DSP开发环境与工具 DSP原理及应用_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章DSP的开发环境与工具 主要内容 软件开发过程及开发工具CCS集成开发环境 软件开发过程及开发工具 一般估计 一个嵌入式系统 开发的80 的努力 以及系统的80 的复杂程度 取决于软件 因此 设计人员在为实时系统选择处理器时 都极为看重先进的 易于使用的开发环境与工具 DSP的开发环境和工具 代码生成工具系统集成及调试环境与工具实时操作系统 C优化编译器 TI为其TMS320系列DSP提供了系列的C编译器 将标准C源文件编译成为相应片中的汇编语言源代码文件 进而汇编和连接 产生可执行的目标文件 这些C编译器符合ANSIC标准 有运行支持库 一个外壳程序 shellprogram 可以一步将C源代码翻译成为TMS320的目标代码 汇编语言工具 TMS320的汇编语言工具是一个软件包 其中包括 汇编器连接器归档器交叉引用列表器十六进制转换公用程序 汇编器 Assembler 将汇编语言的源程序文件汇编成为机器语言的目标程序文件 其格式为COFF 公用目标文件格式 汇编语言源程序可以包括汇编语言指令 instruction 汇编指令 assemblerdirectives 和宏指令 macrodirectives 连接器 Linker 连接器的基本任务是将目标文件连接在一起 产生可执行模块 连接器可以接受的输入文件包括汇编器产生的COFF目标文件 命令文件 库文件 以及已部分连接好了的文件 它所产生的可执行COFF目标模块可以装入各种开发工具 或由TMS320器件来执行 归档器 Archiver 归档器允许用户将一组文件归入一个档案文件 库 例如 将若干个宏归入一个宏库 汇编器将搜索这个库 并调用源文件中使用的宏 也可以用归档器将一组目标文件收入一个目标文件库 连接器将连接库内的成员 并解决外部引用 交叉引用列表器 Cross ReferenceLister 交叉引用列表器是一个查错的工具 它接受已经连接好的目标文件作为输入 产生一个交叉引用列表作为输出 它列出符号 符号的定义 以及它们已经连接的源文件中的引用 十六进制转换公用程序 HexConversionUtility 将COFF目标文件转换成为若干种标准的文件格式 ASCII 十六进制ExtendedTektronixIntelMCS 86MotorolaExorciserTISDSMAC 系统集成与调试工具 TI公司为TMS320系统的集成与调试所提供的工具包括调试器接口 C Assemblysourcedebugger 软仿真器 Simulator DSP入门套件 DSK DSPStarterKit 标准评估模块 EVM 以及扩展开发系统XDS eXtendedDevelopmentSystem 等 软件仿真器 Simulator 将链接器输出文件 out文件 调入到一个PC机的软件模拟窗口下 对DSP代码进行软件模拟和调试 TMS320软件仿真器是一个软件程序 使用主机处理器和存储器仿真TMS320DSP的微处理器和微计算机模式 从而进行软件开发和非实时的程序验证 硬件在线仿真器 XDSEmulator 为可扩展的开发系统仿真器 XDS510 可以用来进行系统级的集成调试 是进行DSP芯片软 硬件开发的最佳工具 XDS510是TI为其系列DSP设计用以系统调试的专用硬件仿真器 Emulators 它使用JTAG标准 使用这种方法 程序可以从片外或片内的目标存储器实时执行 在任何时钟速率下都不会引入额外的等待状态 评估模块 EVM板 TMS320的评估模块是廉价的开发板 用于对DSP芯片的性能评估 标准程序检查 也可以用来组成一定规模的用户DSP系统 CCS集成开发环境 TMS320C54x代码生成工具 如汇编器 链接器 C C 编译器 建库工具等 CCS集成开发环境 IntegratedDevelopongEnvirorment IDE 包括编辑器 工程管理工具 调试工具等 DSP BIOS BasicInputandOutputSystem 插件及应用程序接口API ApplicationProgranInterface RTDX RealTimeDataExchange 实时数据交换插件 主机 Host 接口及相应的API CCS系统安装 CCS对PC机的最低要求为Windows95 32MRAM 100M剩余硬盘空间 奔腾90以上处理器 SVGA显示器 分辨率800 600以上 CCS系统设置 在安装CCS之后 运行CCS软件之前 首先需要运行CCS设置程序 根据用户所拥有的软 硬件资源对CCS进行适当的配置 启动SetupCCS应用程序 将显示CodeComposerStudioSetup窗口 在FactoryBoards中添加设置 在Family下选择C55xx 将看到所有C55xx的仿真驱动 包括软件仿真和硬件仿真 在Platform下选择Simulator 在AvailableFactoryBoards中只显示软件仿真驱动 选中相应的驱动 双击C55xxRev4 0CPUFunctionalSimulator 可以在MySystem下看到所加入的驱动 点击Save Quit 将保存设置退出SetupCCStudiov3 1并启动运行CCStudio CCS文件名介绍 mak CCS定义的工程项目文件 c C语言编写的源程序文件 asm 汇编语言编写的源程序文件 h C语言程序的头文件 包括DSP BIOSAPI模块的头文件 lib 库文件 cmd 链接命令文件 obj 由源文件编译或汇编后所生成的目标文件 out 完成编译 汇编 链接后所形成的可执行文件 可在CCS监控下调试和执行 wks 工作空间文件 cdb CCS的配置数据库文件 是使用DSP BIOSAPI模块所必须的 链接器命令文件的编写和使用 链接命令文件中可以使用MEMORY命令和SECTIONS命令来定义目标系统的存储器配置图及段的映射 链接命令文件为ASCII文件 可包含以下内容 输入文件名 即指定要链接的目标文件 文档库文件或其他命令文件 当调用其他命令文件时 该语句要放在命令文件的最后 因为链接器不能从调用的命令文件返回 链接器选项 可以用在链接器命令行 也可以编写在命令文件中 MEMORY和SECTIONS链接伪指令 存储器伪指令MEMEORY 用来定义目标系统的存储器空间 段伪指令SECTIONS负责告诉链接器将输入文件中用 text data bss sect等伪指令定义的段放到MEMORY命令描述的存储器空间的什么位置 MEMORY伪指令的一般语法为 MEMORY PAGE0 name1 attr original constant length constant PAGEn namen attr original constant length constant 1 PAGE指定存储器空间页面 最多255 通常PAGE0用于程序存储器 PAGE1用于数据存储器 如果不指定PAGE 链接器默认指定PAGE0 每一个PAGE代表一个完全独立的地址空间 2 name是存储器区间的取名 可由1 64个字符组成 包括A Z a z 名称对链接器没有特殊的含义 只是用来区分链接器区间 在不同的PAGE里区间名可以相同 但有同一个PAGE里区间名不能相同 且不能重叠配置 3 attr指定存储区的1 4种属性 属性为任选项 利用属性将输出段定位到存储器时加以限制 R 指定该存储区可以读 W 指定该存储区可以写 X 指定该存储区可以装入可执行代码 I 指定该存储区可以进行初始化 如果不给存储区指定属性 默认为具有以上4种属性 可以不受限制地将任何输出段分配到该存储区 4 original指定存储区的起始地址 可以简写为org或o 该值是一个16位二进制常数 可以用十进制 八进制或十六进制数表示 5 length指定存储区的长度 可以简写为len或l SECTIONS伪指令语法格式如下 SECTIONS name property property property name property property property name property property property 段 text 包括可执行代码 字符串和编译器产生的常数 data 数据段 cinit 初始化变量和常数表 const 字符串和以const关键字定义的常量 switch 包含switch语句表 bss 为全局变量和静态变量保留空间 stack 为C的系统堆栈分配存储空间 system 动态分配存储器分配保留空间 为C语言函数malloc calloc realloc动态分配存储器 通常 text cinit switch段可以链接到系统的ROM或RAM中且必须是在程序存储器中 page0 const段可以链接到系统的ROM或RAM中 且必须是在数据存储器中 page1 bss stack system段必须链接到系统的RAM中 且必须是在数据存储器中 page1 链接器命令文件举例 ohello out mhello mapMEMORY PAGE0 VECT origin 0 x8000h length0 x040hPAGE0 PROG origin 0 x8040h length0 x600hPAGE1 DATA origin 0 x8000h length0 x400h SECTIONS vectors VECTPAGE0 text PROGPAGE0 bss DATAPAGE1 const DATAPAGE1 用CCS开发简单的程序 1 创建新的工程文件工程文件中包含着设计中所有的源代码文件 链接器命令文件 库函数 头文件等 1 在CCS的安装目录的myprojects子目录下创建一个myfile1目录 2 启动CCS 在Project菜单中选择New项 在Project中输入myfile1 CCS将创建一个名为myfile1 pjt的工程 2 将文件添加到工程中 1 新建源文件执行菜单file New sourcefiles 并把文件保存在myfile工程文件夹下 2 在工程中添加源文件执行菜单project addfilestoproject 把此文件添加到工程中 3 生成和运行程序 1 选择菜单命令Project RebuildAll 对工程重新编译 汇编和链接 主窗口下方的信息窗口将显示build进行汇编 编译和链接的相关信息 2 选择菜单命令File LoadProgram 在当前目录的Debug目录下选择myfile out并打开 将Build生成的程序加载到DSP中 3 选择菜单命令Debug Run或在Debug工具栏上单击Run按钮 运行该程序 举例 实现数组a 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 x 20 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 的初始化 并将数据存储器中的数组x 20 复制到数组y 20 将数据存储器中的a 20 写入到程序存储器PROM 2000H 2013H 再将程序存储器PROM中的20个数据存入数据存储器DATA 0200H 0213H 1 编写汇编源程序 mmregs dataTBL word0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 word1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1PROM usect PROM 20 bssa 20 bssx 20 bssy 20DATA usect DATA 20 textStart STM a AR1RPT 39MVPDTBL AR1 STM x AR2STM y AR3RPT 19MVDD AR2 AR3 STM a AR1LD PROM ASTM 19 AR3 LOOP WRITA AR1 ADD 1 A ABANZLOOP AR3 LD PROM 1 ASTM DATA AR1ST 19 BRCRPTBLOOP1ADD 1 A ALOOP1 READA AR1 WAIT NOPBWAIT 2 建立汇编源程序 在CCS环境下 点击file new sourcefile菜单命令 打开一个空白文档 将汇编程序输入 单击file save菜单命令 在D programfiles ti myprojects下保存文件名为mymove 并选择保存类型为 asm 3 建立链接命令文件 omymove out mmymove mapMEMORY PAGE0 RAM origin 1000h length 800hRAM1 origin 2000h length 300hPAGE1 DARAM1 origin 0100h length 100hDARAM2 origin 0200h length 100h SECTIONS data RAMPAGE0 text RAMPAGE0PROM RAM1PAGE0 bss DARAM1PAGE1DATA DARAM2PAGE1 4 创建一个新工程 在project菜单中选择new项 弹出projectcreation窗口 在project栏中输入mymove 单击 完成 按钮 CCS将创建一个名为mymove pjt的工程 此文件保存了工程的设置信息及工程中的文件引用情况 5 将有关文件添加到工程中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论