1、第12章 DSP开发工具与开发环境DSP的软件、硬件的开发以及系统的集成,日益关注。如何提高开发速度、降低开发难度 , 所有开发者共同关心。除了必须了解DSP本身的结构和技术指标外, 大量的时间和精力花费在熟悉和掌握开发工具和环境上 。系统复杂程度的百分之八十取决于软件 。所以,设计人员都极为 看重先进的、易于使用的开发环境与工具。DSP的开发环境如何,开发工具的功能是否丰富,使用是否方便,是一件十分重要的事情。TI的DSP开发环境和工具主要包括以下 3个方面 :(1)代码生成工具 (编译器、链接器、优化C编译器、转换工具等)(2)系统集成及调试环境与工具(3)实时操作系统一个DSP软件 可使
2、用汇编或C语言编写源程序 ,通过编译、链接、工具产生DSP执行代码。在调试阶段 ,可利用软件仿真在计算机上仿真运行;也可利用硬件调试工具将代码下载到DSP中,并通过计算机监控、调试运行该程序。当调试完成后 ,可将该程序代码固化到程序存储器中,以便DSP目标系统脱离计算机单独运行。12.1 系统集成与调试工具12.1.1 软件模拟模拟器软件模拟器 是一种模拟DSP芯片功能并在非实时条件下进行软件调试的调试工具,它不需要硬件支持,只需在计算机上运行,是一种 廉价方便的调试工具 .软件模拟器 模拟DSP芯片的I/O口时采用与文件关联的方法来实现 ,因而 调试中所需的I/O值可从文件中读取,输出的I/
3、O值也可存储在文件中 。可以按用户定义的时间间隔,周期性的设置中断标志,仿真中断信号.在程序执行之前作初始化,设置断点及跟踪模式.程序执行一旦终止,就可对内部寄存器、程序和数据存储器作检查和修改,也可显示跟踪寄存器。整个仿真的记录可以做成一个文件, 下次再做仿真的时候,运行该文件就可以恢复同样的机器状态。软件模拟器的主要功能有 :(1)在计算机上执行用户的DSP程序;(2)可修改和查看寄存器;(3)可修改和查看程序和数据存储器,任何时候都可进行存储器的修改,也可在程序装入前进行存储器初始化;(4)可模拟外设,高速缓存(Cache)及流水线、定时功能。(5)可计算指令周期数。(6)可编程的断点设
4、置:可在取指令、读写存储器及错误条件满足时设置断点(7)可进行累加器、程序计数器、辅助寄存器的跟踪(8)指令的单步执行(9)用户设定的中断产生间隔(10)在遇到非法操作码和无效数据访问时提示错误信息(11)从文件中执行命令早期的软件模拟器与其他的开发工具是分离的。使用起来不方便。现在已经作为CCS(Code Composer Studio)的一个部件。12.1.2 集成开发环境CCSCCS(Code Composer Studio)是一个完整的集成开发环境,也是目前使用使用最为广泛的DSP开发软件之一。最早由GO DSP公司为TI的VC6000系列开发,后来TI收购GO DSP,并将CCS扩展
5、到其它系列。 所有的TI DSP都可以用CCS开发 。但目前只有VC5000和VC6000的CCS中提供DSP/BIOS功能。因为, VC2000系列的CCS中没有DSP/BIOS功能,也称为CC(Code Composer),以示区别。现在所有的TI DSP都可利用该软件工具进行开发。一、 CCS的功能(1)集成可视化的代码编辑界面,可直接编写C、汇编、.H文件、.cmd文件等.(2)集成代码生成工具,包括汇编器,优化C编译器,连接器等.(3)基本调试工具,如装入执行代码,查看寄存器,存储器,反汇编,变量窗口等, 支持C源代码级调试.(4)支持多DSP调试(5)可设置硬件断点、数据空间读/写
6、断点、条件断点(使用GEL编写表达式)(6)(7)(8)二、 为CCS安装驱动程序三、 利用CCS开发DSP流程四、 探针工具的使用五、 图形工具的使用六、 分析工具的使用12.2 仿真器两种类型 的 仿真器(1)传统的电路仿真器(2)先进的扫描仿真器利用传统的电路仿真器进行硬件仿真,仿真器的仿真插头必须插入到硬件电路中DSP相应的位置。仿真插头引脚与DSP芯片引脚一一对应。扫描仿真器不采用插入仿真的方法,而是通过DSP芯片上提供的几个仿真引脚实现仿真功能。这种方法为TI公司所开发,用来解决高速DSP芯片的仿真。由于DSP芯片具有高度的并行结构、快速的指令周期、高密度的封装,采用传统的电路仿真
7、方法很难实现可靠的仿真。12.2.1 各类仿真器及接口仿真器品牌:(1)闻亭;(2)合众达(SEED);(3)中泰康(4)其他计算机接口:PCI接口/并行口/USB接口DSP接口:IEEE1149.1(JTAG)扫描仿真消除了传统的电路仿真存在的问题:仿真电缆过长会引起信号失真,仿真插头的可靠性差的问题。DSP是通过内部移位寄存器扫描链,实现扫描仿真。采用扫描仿真,即使芯片已经焊在电路板上,也可进行仿真调试。带来了极大的方便。12.2.2 JTAG接口仿真头采用14根信号线,仿真头 扫描仿真信号线采用JTAG标准IEEE1149.1。 如图12-1(b)所示。仿真信号的定义 如表12-3表12
8、-3 JTAG仿真信号的定义信号 仿真头状态 DSP芯片状态 信号说明TMS 输出 输入 JTAG测试方式选择TDI 输出 输入 JTAG测试数据输入TDO 输入 输出 JTAG测试数据输TCK 输出 输入 JTAG测试时钟TRST 输出 输入 JTAG测试复位EMU0 输入 输出 仿真脚0EMU1 输入 输出 仿真脚1PD 输入 输出 指示仿真电缆连接(在目标系统中应接至+5V)TCK_RET 输入 输出 JTAG测试时钟返回注1: 脚6 没有连接,而且应该把双排针连接器 该针脚去掉 ,仿真器的DSP连接器通常用此脚进行定位。注2: 根据IEEE1149.1标准, TDI、TCK、TMS、T
9、RST *四个引脚最好接上拉电阻 。另外 EMU0、EMU1两个仿真控制脚也最好接上拉电阻。1234111359714121086TMSTDITCKVCCTDOEMU0TRST*EMU1 DSP仿真环境 MP/MC* = 1, 微处理器模式 VccP(Pin 50) = 5V 外部时钟要保证CPUCLK = 40MHz 仿真RAM(PS * or DS* 选通)12.3 DSP开发环境Code Composer(v4.1)CC For C2000CC For C3xC4xCode Composer Studio(v2.2)CCS 2000CCS 5000CCS 6000其他开发工具:软件模拟器(Software Simulator)初学者开发套件DSK(DSP Starter Kit)软件评估模块EVM(Evaluation Module)Code Composer特性:集成开发环境对C和DSP汇编文件的目标管理高集成的编辑器调整C和DSP汇编代码C代码优化编译功能丰富的调试手段:断点、单步、观察窗口、探针、图形分析寄存器、内存查看目标DSP的帮助CC初始化未连接仿真器初始窗口正常连接仿真器初始窗口打开工程后窗口运行过程窗口工程编译选项(Project-Optoins-Compiler):END