dsp系统开发
13.3 DSP系统开发环境
C高级语言编程(或C和汇编的混合编程)、C优化编译和
集成的软硬件开发环境 。
CC(Code Composer) CCS(Code Composer Studio)
CCS是一种针对TMS320调试接口的集成开发环境。CCS包含源 代码编辑工具、代码调试工具、可执行代码生成工具和实时 分析工具,并支持设计和开发的整个流程。
(1)处理器/控制器:单片机、DSP、ARM等。考虑公司、产 品系列、工作频率、工作电压、工作温度等; (2)A/D:采样频率、精度。考虑片上是否自带采样保持器、 多路器、参考电源等; (3)D/A:信号频率、精度。考虑是否有片上基准电源、多路 器、输出运放等; (4)存储器:包括SRAM、EPROM、SDRAM、FIFO等。考虑工作 频率、存储容量、字长、接口方式、工作电压等; (5)逻辑控制:CPLD、FPGA。考虑公司、产品系列、片内资 源、I/O资源、工作速度; (6)通信接口:根据速率和距离决定采用何种通信方式,并 进一步选择通信接口芯片;
DSP入门套件(DSK,DSP Starter Kit)是TI公司为 TMS320 DSP的初学者设计和生产的一种评价DSP平台的廉价 开发工具板。在PC机环境下,用户可以使用DSK来做系统实 验和应用,可以进行诸如自动控制系统、语音处理等应用; 也可以编写和运行实时的代码;还可以用来建立和调试用户 自己的系统。 DSK套件包括一块TMS320 DSP芯片为基础的电路板、配 套的电源和电缆、专用的C编译器、汇编器/链接器以及相 应的调试软件和文档。DSK电路板上除了DSP之外,一般还带 有一定的存储器,并配有通信接口(并口或串口,用来和PC 机通信)、电源插口、模拟信号I/O接口、扬声器接口等, 可以很容易地实现一个简单的控制系统或语音系统,为初学 者学习DSP开发提供了一个良好的平台。
仿真器与目标系统的接口是利用一个标准的14针接口 (JTAG接口)来实现的 (JTAG—IEEE1149.1标准)
仿真器与主机的接口有多种形式:
PCI接口:仿真器作为一个插卡插在主机中。早期的DSP仿真 器多采用这种接口方式,但这种仿真器使用不方便,现在已 经很少见了; 并口:仿真器通过并口(打印机接口)与主机连接。由于计 算机并口采用39针连接器进行连接,并口仿真器体积相对也 较大; USB接口:目前越来越多的计算机外设采用USB作为总线接口, 其高速数传和热插拔的特性使得外部设备可以方便地与计算 机连接,并且具有很好的连通性能。DSP硬件仿真器也出现 了USB接口的产品,而且发展迅速,USB接口仿真器已经成为 目前最常见的DSP硬件仿真器。
硬件需求分析、元件选择、原理图设计、PCB图设计、硬 件调试
(4)软件实现 软件需求分析、算法仿真、编码、软件调试 (5)系统集成和测试
软硬件联合调试、系统测试
硬件实现:
硬件需求分析
系 统 分 析 系 统 综 合 系 统 硬 件 实 现 过 程
元件选择
原理图设计 PCB图设计 硬件调试
元件选取:
软件实现:
(1)软件需求分析
(2)算法仿真:利用高级语言
(3)编码:可读性 (4)软件调试、测试:代码效率、执行效率 系统集成与系统测试:
软硬件联合调试,调整时序关系,完成系统实 现。按照系统功能指标要求进行系统测试和各种环境 实验。
13.2 DSP系统的仿真调试工具 (1)标准评估模块(EVM)
地址
D/A DAC7625
模拟 信号 接口
数据
接口
SRAM 128K*16
DATA
ANALOG
ADDRESS
CONTROL
控制 接口
开关
指示灯
SPI
TMS320LF2407
I/O
PWM/IO
I/O
接口
JTAG
UART
CAN
CAN
接口
驱动器
串行
BOOT ROM
JTAG
接口
串行接口 驱动器
串 行
口
13.2.2 DSK入门套件
(7)总线接口:PCI、CPCI、CAN、VXI、PXI等。考虑使用的 场合、数传速率(总线宽度、频率高低、同步方式等)进行 选择; (8)信号调理:运算放大器、比较器、多路器等。考虑带宽、 输入信号范围、输出信号范围、响应速度(信号建立时间) 等; (9)人机接口:键盘、LED、数码管、液晶屏等; (10)电源:电压的高低和电流容量的大小。电压高低要匹配, 电流容量要足够。 原理图设计中关键部分要进行仿真:软件仿真、硬件仿真。 PCB图设计要综合考虑设备结构特点和数模混合电路布线工艺。 硬件调试主要进行硬件基本功能调试,确定可以满足功能和技 术指标要求。
13.3.3 公共目标文件格式 (COFF)
CCS 的汇编器输出的目标文件和链接器输出的可执行文件都 是 公 共 目 标 文 件 格 式 ( Common Object File Format, COFF)。由于COFF在编写程序时采用代码和数据块的形式, 因此有利于模块化编程。这些代码和数据块称为段。 所谓段(sections)是指连续地占有存储空间的一个数据或 代码块。在编写程序时,程序按段组织。段是目标文件中可 重新定位的最小单元,一个目标程序中的每个段通常是分开 的和不同的。
目标文件 目标存储器 RAM .bss .data .text ROM EEPROM
13.3.4 CCS软件界面
13.3.5 CCS工程组成 (1).pjt文件 CCS工程文件。在CC中,工程 文件的扩展名为.mak。 (2).lib文件 CCS运行支持库。 (3).h文件 头文件。 (4).c文件 C源文件。 (5).asm文件 汇编语言源文件。 (6).cmd文件 链接命令文件。 (7).obj文件 目标文件,COFF格式。 (8).out文件 可执行文件,COFF格式。
C编译器(C Compiler):将C语言源代码程序自动地编译成 DSP汇编语言源代码程序; 汇编器(assembler):将汇编语言源代码文件汇编成机器 语言COFF目标文件,在源文件中包含了汇编指令、宏命令及 指令等; 链接器(linker):把汇编生成的可重定位的COFF目标模块 组合成一个可执行的COFF目标模块。它能调整并解决外部符 号参考。链接器的输入是可重定位的COFF目标文件和目标库 文件,它也可以接收来自文档管理器中的目标文件以及链接 以前运行时所产生的输出模块。
Байду номын сангаас
汇编器(assembler)
链接器(linker) 档案管理器(achiever) 助记符到代数语言的转换程序 运行支持库公用程序(runtime-support utility) 运行支持库(runtime-support library) 十六进制转换公用程序(Hex conversion utility)
有状态观察窗口
13.3.2 CCS开发软件的主要流程
C源文件 宏文件 C编译器
文档管理器 汇编源文件
汇编工具
宏库
汇编器
汇编源文件
文档管理器
COFF文件
库工具
运行支持库
目标库文件
链接器
可执行代码 十六进制 转换工具
调试工具
EPROM 编程器
绝对列表器
交叉引用 列表
DSP开发工具 : C编译器(C Compiler)
COFF目标文件至少包含以下3个默认的段: (1).txt 文本段,通常包含可执行代码 (2).data 数据段,通常包含初始化的数据 (3).bss 保留空间段,通常为没有初始化的变量保 留空间 此外,还有命名段。汇编器和链接器可用来产生、命名和链 接命名段,这些段的使用和.data,.text和.bss段相同。
段有两种基本类型:初始化段和未初始化段。初始化段包含 数据或代码,包括:.text段、.data段以及由汇编器伪指 令.sect产生的命名段;未初始化段为没有初始化的数据保 留存储空间,包括:.bss段和由汇编器伪指令.sect产生的 命名段。
链接器的功能之一是将段重新定位到目标系统的存储器空间 中,该功能称为定位或分配(allocate)。因为大多数系统 中包含有几种存储器,所以使用段可以使目标存储器的使用 更为有效。所有的段都是独立可重新定位的,可将任何段放 入目标存储器的任何位置。例如,可以定义一个包含有初始 化程序的段,然后将它分配到包含ROM的存储器空间中去。
13.2.4 DSP软件仿真器
软件仿真器是一个软件程序,使用主机的处理器和存储器来 仿真TMS320 DSP的微处理器和微计算机模式,从而进行软件 开发和非实时的程序验证。在PC机上,典型的软仿真速度是 每秒几百条指令。 软件仿真器的主要功能和性能有:
在主机上执行用户的DSP程序 修改和检查寄存器 显示和修改数据和程序存储器 仿真外设、高速缓存和流水时序 提取指令周期时序,用以分析器件的表现 设置断点,添加指令,读写内存、数据总线或程序总线上的数据 跟踪累加器、程序计数器、辅助寄存器等 单步执行指令
(2)DSP入门套件(DSK)
(3)硬件仿真器(Emulator/XDS)
(4)软件仿真器(Simulator)
(5)DSP软件开发平台(CC/CCS)
13.2.1 标准评估模块
标准评估模块(EVM,Evaluation Module)是TI或TI 的第三方为TMS320 DSP的使用者设计和生产的一 种评估平台,它的运行环境和资源较为完善,可 以用于某种型号DSP的器件评估、程序调试与检查 以及系统的调试。 EVM提供了一套完整的DSP系统,包括A/D、D/A、外部 程序/数据存储器、外部I/O等,用户可以使用 EVM来进行DSP的实验、编写和运行实时的源代码, 对代码进行评估,并且可以用来调试用户自己的 系统。