




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 DSP开发环境与工具本文由gudujiangone贡献 ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 第四章 DSP的开发环境与工具 主要内容 软件开发过程及开发工具 CCS集成开发环境 集成开发环境 软件开发过程及开发工具 一般估计,一个嵌入式系统, 一般估计,一个嵌入式系统,开发的 80%的努力,以及系统的 的努力, 的努力 以及系统的80%的复杂程 的复杂程 取决于软件。 度,取决于软件。 因此, 因此,设计人员在为实时系统选择 处理器时,都极为看重先进的、 处理器时,都极为看重先进的、易于使 用的开发环境与工具。 用的开发环境与工具。 DSP的开发环境和工具 的开发环境和工具 代码生成工具 系统集成及调试环境与工具 实时操作系统 C 优化编译器 TI 为其 为其TMS320系列 DSP提供了系列的 C 编 系列 提供了系列的 译器。 译器。将标准 C 源文件编译成为相应片种的汇 编语言源代码文件,进而汇编和连接, 编语言源代码文件,进而汇编和连接,产生可 执行的目标文件。 执行的目标文件。 编译器符合ANSI C 标准;有运行支 标准; 这些 C 编译器符合 持库; 一个外壳程序( 持库 ; 一个外壳程序 ( shell program) 可以 ) 源代码翻译成为TMS320的目标代码。 的目标代码。 一步将 C 源代码翻译成为 的目标代码 汇编语言工具 TMS320的汇编语言工具是一个软件包, 的汇编语言工具是一个软件包, 的汇编语言工具是一个软件包 其中包括: 汇编器 连接器 归档器 交叉引用列表器 十六进制转换公用程序 汇编器( 汇编器(Assembler) ) 将汇编语言的源程序文件汇编成为机 器语言的目标程序文件,其格式为COFF 器语言的目标程序文件,其格式为 公用目标文件格式) ( 公用目标文件格式 ) 。 汇编语言源程 序 可 以 包 括 汇 编 语 言 指 令 ( instruction ) 、 汇 编 指 令 ( assembler directives ) 和 宏 指 令 (macro directives) ) 连接器( 连接器(Linker) ) 连接器的基本任务是将目标文件连接 在一起, 产生可执行模块。 在一起 , 产生可执行模块 。 连接器可以 接受的输入文件包括汇编器产生的COFF 接受的输入文件包括汇编器产生的 目标文件、 命令文件、 库文件、 目标文件 、 命令文件 、 库文件 、 以及已 部分连接好了的文件。 部分连接好了的文件 。 它所产生的可执 目标模块可以装入各种开发工具, 行COFF目标模块可以装入各种开发工具 目标模块可以装入各种开发工具 或由TMS320器件来执行 或由 器件来执行 归档器( 归档器(Archiver) ) 归档器允许用户将一组文件归入一个 档案文件( )。例如 例如, 档案文件(库)。例如,将若干个宏归 入一个宏库,汇编器将搜索这个库, 入一个宏库,汇编器将搜索这个库,并 调用源文件中使用的宏。 调用源文件中使用的宏。也可以用归档 器将一组目标文件收入一个目标文件库, 器将一组目标文件收入一个目标文件库, 连接器将连接库内的成员, 连接器将连接库内的成员,并解决外部 引用 交叉引用列表器 (Cross-Reference Lister) ) 交叉引用列表器是一个查错的工具。 交叉引用列表器是一个查错的工具。 它接受已经连接好的目标文件作为输入, 它接受已经连接好的目标文件作为输入, 产生一个交叉引用列表作为输出。 产生一个交叉引用列表作为输出。它列 出符号、符号的定义、 出符号、符号的定义、以及它们已经连 接的源文件中的引用 十六进制转换公用程序 (Hex Conversion Utility) ) 将COFF目标文件转换成为若干种标准的文件 目标文件转换成为若干种标准的文件 格式: 格式: ASCII-十六进制 十六进制 Extended Tektronix Intel MCS-86 Motorola Exorciser TI SDSMAC 系统集成与调试工具 TI公司为 公司为TMS320系统的集成与调试所 公司为 系统的集成与调试所 提供的工具包括调试器接口 (C/Assembly source debugger)、 )、 软仿真器( )、DSP入门套件 软仿真器(Simulator)、 )、 入门套件 )、标准评估 (DSK,DSP Starter Kit)、标准评估 , )、 模块( )、以及扩展开发系统 模块(EVM)、以及扩展开发系统 )、以及扩展开发系统XDS (eXtended Development System) ) 等 软件仿真器( 软件仿真器(Simulator) ) 将链接器输出文件( 文件) 将链接器输出文件(.out文件)调入到一个 文件 调入到一个PC 机的软件模拟窗口下, 机的软件模拟窗口下,对DSP代码进行软件模 代码进行软件模 拟和调试。TMS320软件仿真器是一个软件程 拟和调试。 软件仿真器是一个软件程 使用主机处理器和存储器仿真TMS320 序,使用主机处理器和存储器仿真 DSP的微处理器和微计算机模式,从而进行软 的微处理器和微计算机模式, 的微处理器和微计算机模式 件开发和非实时的程序验证。 件开发和非实时的程序验证。 硬件在线仿真器( 硬件在线仿真器(XDS Emulator) ) 为可扩展的开发系统仿真器( ),可 为可扩展的开发系统仿真器(XDS510),可 ), 以用来进行系统级的集成调试,是进行DSP芯 以用来进行系统级的集成调试,是进行 芯 片软、硬件开发的最佳工具。XDS510是TI为 片软、硬件开发的最佳工具。 是 为 其系列DSP设计用以系统调试的专用硬件仿真 其系列 设计用以系统调试的专用硬件仿真 ),它使用 标准, 器(Emulators),它使用 ),它使用JTAG标准,使用 标准 这种方法, 这种方法,程序可以从片外或片内的目标存储 器实时执行, 器实时执行,在任何时钟速率下都不会引入额 外的等待状态。 外的等待状态。 评估模块( 评估模块(EVM板) 板 TMS320的评估模块是廉价的开发板,用于对 的评估模块是廉价的开发板, 的评估模块是廉价的开发板 DSP芯片的性能评估、标准程序检查,也可以 芯片的性能评估、 芯片的性能评估 标准程序检查, 用来组成一定规模的用户DSP系统。 用来组成一定规模的用户 系统。 系统 CCS集成开发环境 集成开发环境 TMS320C54x代码生成工具,如汇编器、链接器、 代码生成工具,如汇编器、链接器、 代码生成工具 C/C+编译器、建库工具等。 编译器、 编译器 建库工具等。 CCS集成开发环境(Integrated Developong 集成开发环境( 集成开发环境 Envirorment,IDE),包括编辑器、工程管理工具、 ),包括编辑器 , ),包括编辑器、工程管理工具、 调试工具等。 调试工具等。 DSP/BIOS(Basic Input and Output System)插 ( ) 件及应用程序接口API(Application Progran 件及应用程序接口 ( Interface)。 )。 RTDX(Real Time Data Exchange)实时数据交换 ( ) 插件、主机( 插件、主机(Host)接口及相应的 )接口及相应的API。 。 CCS系统安装 系统安装 CCS对PC机的最低要求为 对 机的最低要求为 机的最低要求为Windows 95、32M 、 RAM、100M剩余硬盘空间、奔腾 以上处理 剩余硬盘空间、 、 剩余硬盘空间 奔腾90以上处理 显示器( 以上)。 器、SVGA显示器(分辨率 显示器 分辨率800600以上)。 以上 CCS系统设置 系统设置 在安装CCS之后、运行 之后、运行CCS软件之前,首先需 软件之前, 在安装 之后 软件之前 要运行CCS设置程序,根据用户所拥有的软、 设置程序, 要运行 设置程序 根据用户所拥有的软、 硬件资源对CCS进行适当的配置。 硬件资源对 进行适当的配置。 进行适当的配置 启 动 Setup CCS 应 用 程 序 , 将 显 示 Code Composer Studio Setup窗口。 窗口。 窗口 在Factory Boards中添加设置 中添加设置 下选择C55xx,将看到所有 在Family下选择 下选择 ,将看到所有C55xx 的仿真驱动,包括软件仿真和硬件仿真; 的仿真驱动,包括软件仿真和硬件仿真; 下选择Simulator,在Available 在Platform下选择 下选择 , Factory Boards中只显示软件仿真驱动,选 Boards中只显示软件仿真驱动 中只显示软件仿真驱动, 中相应的驱动; 中相应的驱动; 双击C55xx Rev4.0 CPU Functional 双击 Simulator,可以在 ,可以在My System下看到所加入 下看到所加入 的驱动; 的驱动; 点击Save & Quit,将保存设置退出 点击 ,将保存设置退出Setup CCStudio v3.1并启动运行 并启动运行CCStudio。 并启动运行 。 CCS文件名介绍 文件名介绍 *.mak:CCS定义的工程项目文件; : 定义的工程项目文件; 定义的工程项目文件 *.c:C语言编写的源程序文件; 语言编写的源程序文件; : 语言编写的源程序文件 *.asm:汇编语言编写的源程序文件; :汇编语言编写的源程序文件; *.h:C语言程序的头文件,包括 语言程序的头文件, : 语言程序的头文件 包括DSP/BIOS API模块的头 模块的头 文件; 文件; *.lib:库文件; :库文件; *.cmd:链接命令文件; :链接命令文件; *.obj:由源文件编译或汇编后所生成的目标文件; :由源文件编译或汇编后所生成的目标文件; *.out:完成编译、汇编、链接后所形成的可执行文件, :完成编译、汇编、链接后所形成的可执行文件, 可在CCS监控下调试和执行; 监控下调试和执行; 可在 监控下调试和执行 *.wks:工作空间文件; :工作空间文件; *.cdb:CCS的配置数据库文件,是使用 的配置数据库文件, : 的配置数据库文件 是使用DSP/BIOS API 模块所必须的。 模块所必须的。 链接器命令文件的编写和使用 链接命令文件中可以使用MEMORY命令和 命令和 链接命令文件中可以使用 SECTIONS命令来定义目标系统的存储器配置 命令来定义目标系统的存储器配置 图及段的映射。 图及段的映射。 链接命令文件为ASCII文件 可包含以下内容: 文件, 链接命令文件为ASCII文件,可包含以下内容: 输入文件名,即指定要链接的目标文件、 输入文件名,即指定要链接的目标文件、文档库 文件或其他命令文件。当调用其他命令文件时, 文件或其他命令文件。当调用其他命令文件时, 该语句要放在命令文件的最后, 该语句要放在命令文件的最后,因为链接器不能 从调用的命令文件返回。 从调用的命令文件返回。 链接器选项,可以用在链接器命令行, 链接器选项,可以用在链接器命令行,也可以编 写在命令文件中。 写在命令文件中。 MEMORY和SECTIONS链接伪指令,存储器 和 链接伪指令, 链接伪指令 伪指令MEMEORY,用来定义目标系统的存储 伪指令 , 器空间。段伪指令SECTIONS负责告诉链接器 器空间。段伪指令 负责告诉链接器 将输入文件中用.text、.data、.bss、.sect等 将输入文件中用 、 、 、 等 伪指令定义的段放到MEMORY命令描述的存 伪指令定义的段放到 命令描述的存 储器空间的什么位置。 储器空间的什么位置。 MEMORY伪指令的一般语法为: 伪指令的一般语法为: 伪指令的一般语法为 MEMORY PAGE 0: name1(attr): original=constant, length=constant; PAGE n: namen(attr): original=constant, length=constant; 指定存储器空间页面, (1)PAGE指定存储器空间页面,最多 ) 指定存储器空间页面 最多255。 。 通常PAGE 0用于程序存储器,PAGE 1用于 用于程序存储器, 通常 用于程序存储器 用于 数据存储器。如果不指定PAGE,链接器默认 数据存储器。如果不指定 , 指定PAGE 0。每一个PAGE代表一个完全独 指定 。每一个 代表一个完全独 立的地址空间。 立的地址空间。 是存储器区间的取名, (2)name是存储器区间的取名,可由 ) 是存储器区间的取名 可由164 个字符组成,包括AZ、az、$、.、_。名称 个字符组成,包括 、 、 、 、 。 对链接器没有特殊的含义, 对链接器没有特殊的含义,只是用来区分链接 器区间。在不同的PAGE里区间名可以相同, 里区间名可以相同, 器区间。在不同的 里区间名可以相同 但有同一个PAGE里区间名不能相同,且不能 里区间名不能相同, 但有同一个 里区间名不能相同 重叠配置。 重叠配置。 指定存储区的14种属性,属性为任 种属性, (3)attr指定存储区的 ) 指定存储区的 种属性 选项, 选项,利用属性将输出段定位到存储器时加以 限制。 限制。 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关键字定义的常量 .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) 。 ) 链接器命令文件举例 -o hello.out -m hello.map MEMORY PAGE 0: VECT:origin=0x8000h,length 0x040h PAGE 0: PROG:origin=0x8040h,length 0x600h PAGE 1: DATA:origin=0x8000h,length 0x400h SECTIONS .vectors VECT PAGE 0 .text PROG PAGE 0 .bss DATA PAGE 1 .const DATA PAGE 1 用CCS开发简单的程序 开发简单的程序 1创建新的工程文件 创建新的工程文件 工程文件中包含着设计中所有的源代码文件、 工程文件中包含着设计中所有的源代码文件、 链接器命令文件、库函数、头文件等。 链接器命令文件、库函数、头文件等。 (1)在CCS的安装目录的 的安装目录的myprojects子目录下 ) 的安装目录的 子目录下 创建一个myfile1目录。 目录。 创建一个 目录 菜单中选择New项, (2)启动 )启动CCS,在Project菜单中选择 , 菜单中选择 项 中输入myfile1,CCS将创建一个名 在 Project中输入 中输入 , 将创建一个名 的工程。 为myfile1.pjt的工程。 的工程 2.将文件添加到工程中 将文件添加到工程中 (1)新建源文件 ) 执行菜单file/New/source files,并把文件 执行菜单 并把文件 保存在myfile工程文件夹下 工程文件夹下。 保存在myfile工程文件夹下。 (2)在工程中添加源文件 ) 执行菜单project/add files to project,把此文 执行菜单 , 件添加到工程中。 件添加到工程中。 3生成和运行程序 ( 1)选择菜单命令 ) 选择菜单命令ProjectRebuild All,对工程重新 , 编译、 汇编和链接, 编译 、 汇编和链接 , 主窗口下方的信息窗口将显示 build进行汇编、编译和链接的相关信息。 进行汇编、 进行汇编 编译和链接的相关信息。 2) 选择菜单命令FileLoad Program, ( 2 ) 选择菜单命令 FileLoad Program , 在当前目录 目录下选择myfile.out并打开, 将 Build生成 并打开, 的 Debug目录下选择 目录下选择 并打开 生成 的程序加载到DSP中。 的程序加载到 中 (3)选择菜单命令DebugRun或在 )选择菜单命令 或在Debug工具栏上单 工具栏上单 或在 按钮, 击Run按钮,运行该程序。 按钮 运行该程序。 举例 实现数组 a20=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, 16,17,18,19,x20=1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1的初始化,并将数据存储器中 的初始化, 的初始化 的数组x20复制到数组 复制到数组y20,将数据存储器 的数组 复制到数组 , 中的a20写入到程序存储器 写入到程序存储器PROM(2000H中的 写入到程序存储器 2013H),再将程序存储器 再将程序存储器PROM中的 个数据 中的20个数据 再将程序存储器 中的 存入数据存储器DATA(0200H-0213H) 存入数据存储器 1.编写汇编源程序 编写汇编源程序 .mmregs .data TBL: .word 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 .word 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 PROM : .usect “PROM”,20 .bss a,20 .bss x,20 .bss y,20 DATA .usect “DATA”,20 .text Start: STM #a,AR1 RPT #39 MVPD TBL,*AR1+ STM #x,AR2 STM #y,AR3 RPT #19 MVDD *AR2+,*AR3+ STM #a,AR1 LD #PROM,A STM #19,AR3 LOOP: WRITA *AR1+ ADD #1,A,A BANZ LOOP,*AR3LD #PROM-1,A STM #DATA,AR1 ST #19,BRC RPTB LOOP1 ADD #1,A,A LOOP1: READA *AR1+ WAIT: NOP B WAIT 2.建立汇编源程序 建立汇编源程序 环境下, 在CCS环境下,点击 环境下 点击file/new/source file菜单 菜单 命令,打开一个空白文档,将汇编程序输入。 命令,打开一个空白文档,将汇编程序输入。 单击file/save菜单命令,在D:program 菜单命令, 单击 菜单命令 filestimyprojects下保存文件名为 下保存文件名为mymove, 下保存文件名为 , 并选择保存类型为*.asm。 并选择保存类型为 。 3.建立链接命令文件 建立链接命令文件 _o mymove.out _m mymove.map MEMORY PAGE 0: RAM: origin=1000h,length=800h RAM1:origin=2000h,length=300h PAGE 1: DARAM1: origin=0100h,length=100h DARAM2: origin=0200h,length=100h SECTIONS .data :RAM PAGE 0 .text :RAM PAGE 0 PROM:RAM1 PAGE 0 .bss :DARAM1 PAGE1 DATA :DARAM2 PAGE1 4.创建一个新工程 创建一个新工程 菜单中选择new项,弹出 在project菜单中选择 菜单中选择 项 弹出project creation窗口,在project栏中输入 窗口, 栏中输入mymove, 窗口 栏中输入 , 单击“完成”按钮,CCS将创建一个名为 单击“完成”按钮, 将创建一个名为 mymove.pjt的工程,此文件保存了工程的设 的工程, 的工程 置信息及工程中的文件引用情况。 置信息及工程中的文件引用情况。 5.将有关文件添加到工程中 将有关文件添加到工程中 菜单中选取add files to project命令, 命令, 从project菜单中选取 菜单中选取 命令 选择文件mymove.asm,双击“找开”按钮, 选择文件 ,双击“找开”按钮,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 知识产权密集型公司员工技术岗位变动合同
- 离婚共同债务分担协议范本
- 离婚后财产分割及子女教育费用补充协议范本
- 医疗器械产品注册申报合同样本书编制与专家评审合同
- 《离婚时共同债务分担及债权处理协议书》
- 深度解析政府与企业共建智慧城市行政合同要约书
- 标准合同农作物种子采购合同4篇
- 分布式系统外键同步-洞察及研究
- 家庭教育环境对儿童发展的影响-洞察及研究
- 情感生成上下文关联研究-洞察及研究
- 旅行社劳动合同范文3篇
- 2025年污水处理及其再生利用行业研究报告及未来行业发展趋势预测
- 证券投资学课件吴晓求
- 摩托车整车采购合同范本
- 托管班合伙人合同协议书
- 2025劳动合同补充协议
- 社区节水节电知识培训课件
- 防火墙行业知识培训课件
- 2025版全新升级二手房买卖合同模板下载
- 乡镇执法证考试题及答案
- 2025年监理工程师继续教育试卷及答案
评论
0/150
提交评论