MATLAB平台下DSP代码自动生成技术研究及实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业设计(论文)
摘要
传统的DSP设计开发流程分为开发设计和产品实现两个环节,这样的开发流程存在许多问题,针对DSP编程难度大,耗时长的问题,给出了一种综合运用Matlab软件、Code Compose Studio(CCS)软件及其内嵌工具和连接软件进行自动代码生成的方法。

本文重点研究TMS320F2812 DSP的自动代码生成方法,基于Matlab/Simulink模型的构建,完成了从概念设计、软件仿真、硬件测试全过程在软件算法仿真测试后直接生成面向数字信号处理(DSP)芯片的代码,有利发现系统设计的错误。

DSP代码自动生成首先根据系统的设计思路在Matlab平台下搭建模型(.mdl);其次在Simulink中对于算法进行仿真,在仿真中遇到问题后可反复修改参数;仿真满意后通过Matlab提供的Real Time Workshop生成面向CCS的工程文件代码(.prj),并进一步完成代码的编译,链接生成DSP可执行机器码(.out),最后下载到目标DSP板上运行,完成系统的开发。

在Matlab平台下代码的自动生成可以代替人工编写程序,这不仅工作者们从枯燥的编程中解放出来,而且还大大简化了开发复杂程度,节约了时间,提高了准确率。

这将在以后的生活中得到广泛的应用。

关键词:DSP;Matlab/Simulink;代码自动生成;CCS
Abstract
Traditional DSP development, design and product design and development process is divided into two links, so many problems in the development process, in view of the DSP programming is difficult and time-consuming long problem, presents an integrated use of Matlab software, the Code composer Studio (CCS) and embedded software tools and the connection method for automatic Code generation software. This article focuses on automatic code generation method of TMS320F2812 DSP, based on the Matlab/Simulink model building, completed the whole process from concept design, software simulation and hardware test after the software algorithm simulation test directly generate code for digital signal processing (DSP) chip, in favor of the error of discovery system design.
DSP code automatically generated based on the system the design train of thought in the Matlab platform to build model (.mdl); Secondly in the Simulink simulation for the algorithm, after the problems encountered in the simulation can be repeatedly modified parameters; Satisfaction after through Matlab simulation to provide the Real Time Workshop generating code for CCS project file (. prj), and further complete the code to compile, link generation DSP executable machine code (.out), finally downloaded to the target run on DSP board, the implementation of the system.
Code automatically generated in the Matlab platform can replace artificial program, it not only liberate workers from boring programming, but also greatly simplifies the development complexity, saves time, improves the accuracy. This will be widely used in later life.
Keywords:DSP; Matlab/Simulink; Code automatically generated; CCS
目录
引言 ....................................................................................................................................... - 1 -第1章绪论 ....................................................................................................................... - 2 -1.1课题研究的意义 ............................................................................................................. - 2 -1.2 课题研究的内容 ............................................................................................................ - 2 -1.3课题研究的现状和发展趋势 ......................................................................................... - 2 -第2章工具及开发环境的介绍......................................................................................... - 4 -2.1 MATLAB的介绍............................................................................................................ - 4 -2.2 DSP芯片介绍................................................................................................................. - 4 -2.2.1 什么是DSP芯片........................................................................................................ - 4 -2.2.2 DSP的选择.................................................................................................................. - 5 -2.2.3 TMS320F2812的介绍................................................................................................. - 6 -2.3 DSP的软件开发............................................................................................................. - 9 -2.3.1 集成开发环境CCS .................................................................................................. - 11 -2.3.2 代码生成工具 ........................................................................................................... - 11 -第3章DSP硬件电路的设计 .......................................................................................... - 13 -3.1 基于TMS320F2812的最小系统................................................................................ - 13 -3.2 基于F2812外围电路设计.......................................................................................... - 13 -3.2.1 电源电路设计 ........................................................................................................... - 13 -3.2.2 复位部分设计 ........................................................................................................... - 14 -3.2.3 时钟电路部分设计 ................................................................................................... - 15 -3.2.4 JATG部分设计.......................................................................................................... - 15 -第4章MATLAB平台下DSP代码自动生成的方法 ................................................... - 17 -4.1 设计流程 ...................................................................................................................... - 17 -4.2 具体步骤 ...................................................................................................................... - 19 -第5章举例说明 ............................................................................................................... - 24 -5.1 Matlab平台下DSP代码自动生成的实例 ................................................................. - 24 -5.1.1 Simulink中PID控制的设计 .................................................................................... - 24 -5.1.2 正弦波的产生 ........................................................................................................... - 28 -5.2 DSP平台下通过人工编写程序生成正弦波............................................................... - 29 -5.2.1 DSP的正弦波信号发生器的实现............................................................................ - 29 -5.2.2 DSP的正弦波程序调试............................................................................................ - 33 -结论与展望 ......................................................................................................................... - 36 -结论 ..................................................................................................................................... - 36 -展望 ..................................................................................................................................... - 36 -
致谢 ..................................................................................................................................... - 37 -参考文献 ............................................................................................................................. - 38 -附录A TMS320F2812 原理图 ................................................................. 错误!未定义书签。

附录B 参考外文文献及其译文 ............................................................... 错误!未定义书签。

附录C 主要参考文献的题录及摘要 ....................................................... 错误!未定义书签。

毕业设计(论文)
插图清单
图2-1 TMS320F2812的功能结构框图 .............................................................................. - 8 - 图2-2 TMS320F2812的外设功能框图 .............................................................................. - 9 - 图2-3 TI TMS320F281x软件开发过程............................................................................ - 10 - 图3-1 DSP最小系统原理图 ............................................................................................. - 13 - 图3-2 TPS767D318设计原理图 ....................................................................................... - 14 - 图3-3复位开关设计原理图.............................................................................................. - 14 - 图3-4时钟电路设计原理图.............................................................................................. - 15 - 图3-5 JTAG接口电路 ....................................................................................................... - 15 - 图3-6 IS61LV12816设计原理图 ...................................................................................... - 16 - 图4-1 DSP系统开发的4个基本阶段 ............................................................................. - 17 - 图4-2基于Matlab平台下代码自动生成的设计流程图 ................................................ - 18 - 图4-3 Simulink仿真界面图 .............................................................................................. - 19 - 图4-4新建的模型图.......................................................................................................... - 20 - 图4-5 RTW标签图 ............................................................................................................ - 20 - 图4-6新建工程项目图...................................................................................................... - 21 - 图4-7工程中添加文件图.................................................................................................. - 21 - 图4-8工程调试图.............................................................................................................. - 22 - 图4-9运行结果查看图...................................................................................................... - 23 -
图5-1系统模块结构图...................................................................................................... - 25 - 图5-2 PID子系统结构封装过程图 .................................................................................. - 27 - 图5-3 Simulink平台下正弦波发生图 .............................................................................. - 28 - 图5-4正弦波波形图.......................................................................................................... - 28 - 图5-5仿真波形图.............................................................................................................. - 29 - 图5-6新建工程项目图...................................................................................................... - 34 - 图5-7工程中添加文件图.................................................................................................. - 34 - 图5-8工程调试图.............................................................................................................. - 35 - 图5-9仿真波形.................................................................................................................. - 35 -
表格清单
表2- 1每隔10年DSP性能、规模、工艺与价格变动表 ............................................... - 5 -
毕业设计(论文)
引言
近年来,伴随着高科技日新月异的发展,对数字信号处理芯片的(DSP芯片的研发也潜移默化地发生了深刻的变革。

但现在研发公司或实验室的硬件多采用美国TI公司的系列芯片,开发软件多采用CCS系统等,设计语言为汇编或C,不同层次的科研成员完成一项验证或设计需使用多种语言和开发平台,这就增大了产品开发的风险,延长了产品的上市时间。

基于Matlab/Simulink自带的DSP工具箱可以完成概念设计、软件仿真、硬件测试全过程,Matlab语言易学易用,不要求使用者具备高深的数学知识和编程技巧,现己成为大学教学和科研中最常见的工具。

如果能够将DSP开发过程在同一平台完上完成将能方便的建立系统模型、实现从系统设计到实现的完美过渡,对的应DSP 的应用开发也能提供一条便利的途径。

传统的开发工具利用DSP汇编语言进行低层次的设计,现在已不适应市场的激烈竞争。

为了在竞争中获胜,软件开发人员需要利用简单易学的高层次集成环境,来帮助他们摆脱底层设计的困扰,集中精力探索新的算法,获得技术上的突破,Matlab作为目前最强大的数值计算和分析工具,已被算法研究人员、工程技术员广泛应用。

在Matlab 统一环境下完成设计、模拟/仿真、目标代码生成、运行和调试。

利用系统级开发环境可以极大地节省耗费在编程和修正错误上的时间,把开发者解放出来。

DSP强调的是通过通用或专用集成电路芯片,利用数字信号处理理论在芯片上运行的目标程序,实现对信号的某种处理,已经广泛用于信号处理、通信、家用电器、航空航天、控制、生物医学及军事等领域。

DSP芯片的应用还将在宽带Internet接入业务、嵌入式云计算与视频大数据、下一代无线通信系统、数字消费市场、汽车电子等新兴领域不断扩展。

第1章绪论
1.1课题研究的意义
传统的DSP源代码开发通常采用两种方法:一种是直接使用汇编指令编写源代码,然后由汇编器和连接器进行链接后生成目标可执行代码;另一种方法是利用标准C/C++语言编写源代码。

经编译器、汇编器和连接器进行编译链接,最后生成目标代码。

这两种方法都要求开发人员要花费大量的时间去掌握DSP内部的各种寄存器的正确设置及软件的编程方法,开发周期长,延迟了产品的上市时间。

随着信息时代和数字世界的到来,数字信号处理已成为一门极其重要的学科和技术领域。

数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。

在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。

从事电子通信业而不能熟练操作使用MATLAB电子线路设计软件,在工作和学习中将是寸步难行的。

在数学、电子、金融等行业,使用MATLAB 等计算机软件对产品进行设计、仿真在很早以前就已经成为了一种趋势,这类软件的问世也极大地提高了设计人员在通信、电子等行业的产品设计质量与效率。

本课题研究的在Matlab平台下DSP代码的自动生成,用Simulink中的算法库去生成常用的算法,程序员无需自己编写程序,这将会大大减少算法研究的时间,缩短周期。

给大家带来了很大的方便,所以值得大家研究。

1.2课题研究的内容
本课题研究的大致过程就是:首先根据系统的设计思路在Matlab平台下搭建模型(.mdl);其次在Simulink中对于算法进行仿真,在仿真中遇到问题后可反复修改参数;仿真满意后通过Matlab提供的Real Time Workshop生成面向CCS的工程文件代码(.prj),并进一步完成代码的编译,链接生成DSP可执行机器码(.out),最后下载到目标DSP板上运行,完成系统的开发。

本课题就是在介绍完研究方法之后,给出了在Matlab中搭建一个PID模型,通过改变参数可以得到能产生正弦波的一个模型,然后通过Real Time Workshop生成工程文件代码,进一步编译、链接,最后可以得到一个正弦波图形;另外进行信号的跟踪,自己编写程序,在CCS里面进行编译、链接,最后也能得到一个正弦波波形。

如果上述两种波形大致吻合,说明追踪成功,即在Matlab平台下代码的自动生成可以代替人工编写程序,这不仅工作者们从枯燥的编程中解放出来,而且还大大简化了开发复杂程度,节约了时间,提高了准确率。

1.3课题研究的现状和发展趋势
近年来,伴随着高科技日新月异的发展,对数字信号处理(DSP)芯片的研发也潜移默化地发生了深刻的变革。

但现在研发公司或实验室的硬件多采用美国TI公司的系列芯片,开发软件多采用CCS系统等,设计语言为汇编或C,不同层次的科研成员完成一项验证或设计需使用多种语言和开发平台,这就增大了产品开发的风险,延长了产品的上市时间。

基于MATLAB自带的DSP工具箱可以完成概念设计、软件仿真、硬件测试全过程,Matlab语言易学易用,不要求使用者具备高深的数学知识和编程技巧,现已成
毕业设计(论文)
为大学教学和科研中最常见的工具。

目前,Matlab+DSP工具包已经在一些IDE中出现,其辅助DSP开发的方法是:Matlab程序先被转换为C程序,再针对特定的DSP型号、DSP目标板,编译成DSP的汇编指令,最后生成DSP的可执行代码,这种方法有其能够发挥Matlab特长的优点,如果能够将DSP开发过程在同一平台上完成将能方便的建立系统模型、实现从系统设计到实现的完美过渡,对DSP的应用开发也能提供一条便利的途径。

利用数字信号处理理论在芯片上运行的目标程序,实现对信号的某种处理,已经广泛用于信号处理、通信、家用电器、航空航天、控制、生物医学及军事等领域。

DSP芯片的应用还将在宽带Internet接入业务、嵌入式云计算与视频大数据、下一代无线通信系统、数字消费市场、汽车电子等新兴领域不断扩展。

第2章工具及开发环境的介绍
2.1 MATLAB的介绍
Matlab的由来就是Matrix+Laboratory=Matlab,所以这个软件在国内也被称作《矩阵实验室》。

每次MathWorks发布Matlab的同时也会发布仿真工具Simulink。

在欧美很多大公司在将产品投入实际使用之前都会进行仿真试验,他们所主要使用的仿真软件就是Simulink。

Matlab提供了自己的编译器:全面兼容C++以及Fortran两大语言。

所以Matlab是工程师,科研工作者手上最好的语言,最好的工具和环境。

Matlab已经成为广大科研人员的最值得信赖的助手和朋友!
目前 MATLAB 产品族可以用来进行:
-数值分析
-数值和符号计算
-工程与科学绘图
-控制系统的设计与方针
-数字图像处理
-数字信号处理
-通讯系统设计与仿真
-财务与金融工程...
Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的建模范围广泛,可以针对任何能够用数学来描述的系统进行建模,例如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车等等,其中了包括连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等等。

Simulink提供了利用鼠标拖放的方法建立系统框图模型的图形界面,而且Simulink还提供了丰富的功能块以及不同的专业模块集合,利用Simulink几乎可以做到不书写一行代码完成整个动态系统的建模工作。

Matlab是一种面向科学与工程计算的高级语言,它集科学计算、自动控制、信号处理、神经网络和图像处理等学科的处理功能于一体,具有极高的编程效率。

Matlab是一个高度集中的系统,Matlab提供的Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持线性和非线性系统,能够在连续时间域、离散时间域或者两者的混合时间域里进行建模,它同样支持具有多种采样速率的系统。

整体上而言,Simulink是一个系统级的设计和仿真工具,它可以为各种各样的系统建立模型。

使用Simulink很容易创建系统的模型,设置仿真参数,然后对模型进行仿真。

Simulink和Matlab是高度集成的,用户可以借助Matlab强大的数据分析和可视化功能来分析系统仿真结果。

2.2 DSP芯片介绍
2.2.1 什么是DSP芯片
DSP芯片,也称数字信号处理器,是一种具有特殊结构的微处理器。

DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提
毕业设计(论文)
供特殊的DSP 指令,可以用来快速地实现各种数字信号处理算法。

根据数字信号处理的要求,DSP芯片一般具有如下的一些主要特点:
(1)在一个指令周期内可完成一次乘法和一次加法。

(2)程序和数据空间分开,可以同时访问指令和数据。

(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问。

(4)具有低开销或无开销循环及跳转的硬件支持。

(5)快速的中断处理和硬件I/O支持。

(6)具有在单周期内操作的多个硬件地址产生器。

(7)可以并行执行多个操作。

(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。

与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。

2.2.2 DSP的选择
目前生产DSP的厂商众多,而DSP系列的种类也繁多,结构与性能差别也很大。

如何选择DSP,使之能够在系统设计中发挥最大的优势,也是需要掌握的重要内容之一。

所以选择DSP芯片时应考虑以下一些因素:
1)速度:DSP速度一般用MIPS或FLOPS表示,即百万次/秒钟。

相据您对处理速度的要求选择适合的器件。

一般选择处理速度不要过高,速度高的DSP,系统实现也较困难。

2)精度:DSP芯片分为定点、浮点处理器,对于运算精度要求很高的处理,可选择浮点处理器。

定点处理器也可完成浮点运算,但精度和速度会有影响。

3)寻址空间:不同系列DSP程序、数据、I/O空间大小不一,与普通MCU不同,DSP在一个指令周期内能完成多个操作,所以DSP的指令效率很高,程序空间一般不会有问题,关键是数据空间是否满足。

数据空间的大小可以通过DMA的帮助,借助程序空间扩大。

4)成本:一般定点DSP的成本会比浮点DSP的要低,速度也较快。

要获得低成本的DSP系统,尽量用定点算法,用定点DSP。

5)实现方便:浮点DSP的结构实现DSP系统较容易,不用考虑寻址空间的问题,指令对C语言支持的效率也较高。

性能、价格、功耗永远是DSP最求的目标,在这个目标的驱动下,每隔10年DSP 的性能、规模、工艺、价格等就会发生一个跃迁。

如表2-1所列,DSP的演进同样遵循着摩尔定律,集成度的不断提高,性能不断提升,价格不断下降。

综合以上因素的考虑本课题选用TMS320F2812芯片来进行设计。

2.2.3 TMS320F2812的介绍
德州仪器所生产的TMS320F2812 数字讯号处理器是针对数字控制所设计的DSP,整合了DSP 及微控制器的最佳特性,主要使用在嵌入式控制应用,如数字电机控制(digital motor control, DMC)、资料撷取及I/O 控制(data acquisition and control, DAQ)等领域。

针对应用最佳化,并有效缩短产品开发周期,F28x 核心支持全新CCS环境的 C compiler,提供C 语言中直接嵌入汇编语言的程序开发介面,可在C 语言的环境中搭配汇编语言来撰写程序。

值得一提的是,F28x DSP 核心支持特殊的IQ-math 函式库,系统开发人员可以使用便宜的定点数DSP来发展所需的浮点运算算法。

F28x 系列DSP 预计发展至400MHz,目前已发展至150MHz 的Flash 型式。

1.高性能静态CMOS制成技术:
(1)150MHz(6.67ns周期时间);
(2)省电设计(1.8VCore,3.3VI/O);
(3)3.3V快取可程序电压;
2.JTAG扫描支持;
3.高效能32 Bit CPU:
(1)16x16和32x32MAC Operations;
(2)16x16Dual MAC;
(3)哈佛总线结构;
(4)快速中断响应;
(5)4M线性程序寻址空间(Linear Program Address Reach);
(6)4M线性数据寻址空间(Linear Data Address Reach);
(7)TMS320F24X/LF240X程序核心兼容;
4.芯片上(On-Chip)的内存:
(1)128Kx16 Flash(4个8Kx16,6个16Kx16);
(2)1Kx16OTPROM(单次可程序只读存储器);
(3)L0和L1:2组4Kx16 SARAM;
(4)H0:1组8Kx16SARAM;
(5)M0和M1:2组1Kx16 SARAM共128Kx16 Flash,18Kx16 SARAM;
5.外部内存接口:
(1)支持1M的外部内存;
(2)可编程的等待状态数;
(3)可编程的读/写选通计数器;
(4)三个独立的芯片选择(Chip Selects);
6.频率与系统控制:
(1)支持动态的相位锁定模块(PLL)比率变更;
(2)On-Chip振荡器;
(3)看门狗定时器模块;
7.三个外部中断;
8.外围中断扩展方块(PIE),支持45个外围中断;
9.128位保护密码:
(1)保护Flash/ROM/OTP及L0/L1SARAM;
(2)防止ROM中的逆向工程操作;
10.三个32位CPU Timer;
毕业设计(论文)
11.电动机控制外围:
(1)两个事件管理模块(EV A,EVB);
(2)与240xA DSP相容;
12.串行端口外设:
(1)同步串行外围接口SPI模块;
(2)两个异步串行通讯接口SCI模块,标准UART;
(3)eCAN(Enhanced Controller Area Network);
(4)McBSP With SPI Mode;
13.16个信道12位模拟-数字转换模块(ADC):
(1)2x8通道的输入多任务;
(2)两个独立的取样-保持(Sample-and-Hold)电路;
(3)可单一或同步转换;
(4)快速的转换率:80ns/12.5MSPS;
14.最多有56个独立的可编程、多用途通用输入/输出引脚;
15.高级的仿真特性:
(1)实时分析和设置断点的功能;
(2)实时的硬件调试;
16.低功耗模式和省电模式:
(1)支持空闲模式、等待模式、暂停模式;
(2)可禁用独立外设时钟;
17.温度选择:
(1)A:-40~+80℃;
(2)S:-40~+125℃。

2.2.4 TMS320F2812的功能结构图及片内外设
TMS2812是TI公司推出的功能强、性能优越的32位定点DSP芯片之一,时钟周期为6. 67 ns(时钟频率为150 MHz),32X32位的硬件乘法器,2个12 位、16路的A/D 转换器,转换时间为80 ns,l6 路的PWM 通道,4个定时器,一个SPI,两个SCI,一个改进的控制局域网eCAN,一个多通道缓冲串行接口McBSP, 56个GPIO 引脚,具有增强的电机控制外设、高性能的模数转换能力和改进的通信接口,与TMS320LF24 xA 源代码兼容。

TMS320F2812 的功能结构框图如图2-1所示。

由图2-1可以看出,TMS320F2812 内部集成了很多内核可以访问和控制的外部设,需要通过某种方式来读/写外设。

为此,处理器将所有外设都映射到了数据存储器空间。

每个外设都被分配一段相应的地址空间,主要包括配置寄存器、输入寄存器、输出寄器和状态寄存器。

每个外设只要通过简单地访问存储器中的寄存器就可以使用该设。

外设通过外设总线连接到CPU的内部存储器接口上,如图2-2所示。

所有的外设括看门狗和CPU时钟在内,使用前必须配置相应的控制寄存器。

图2-1 TMS320F2812的功能结构框图
毕业设计(论文)
图2-2 TMS320F2812的外设功能框图
2.3 DSP的软件开发
目前,对于DSP 工程师来说,除了必须了解和熟悉DSP 本身的结构(包括软件指令系统和硬件结构)和技术指标外,还必须熟悉和掌握其开发工具和环境。

TMS320F28x 系列DSP 软件开发的一般流程为:首先使用C 语言编写源代码,通过编译器将C语言源程序编译为汇编语言源程序,编译好的汇编语言源程序经过汇编器转换成COFF格式的目标文件,目标文件经过链接器生成可执行的COFF文件。

在调试阶段,可以利用软件仿真器将可执行的COFF 文件下载到开发环境中,在计算机中模拟程序运行;也可以通过硬件仿真器的JTAG口,将可执行的COFF文件下载到目标板的DSP 中,通过计算机监控、调试运行程序。

调试完成后,通过十六进制转换程序(Hex -Conversion Utility)将可执行的COFF 文件转换为TI、Intel 或Tektronix 公司的文件格式,转换后的文件可以通过EPROM编程器固化,使目标系统脱离计算机独立运行。

图2-3给出了TMS320F281x软件开发的流程
图2-3 TI TMS320F281x软件开发过程
毕业设计(论文)
2.3.1 集成开发环境CCS
随着DSP 应用的日益广泛,DSP 系统的软硬件和系统集成也成为开发者日益关注的问题。

TI 公司提供的集成开发环境CCS 支持DSP 系统开发的各个阶段,提供了项目建立、源程序编辑、环境配置、编译、链接、程序调试、状态显示、任务切换跟踪等功能,可以加速软件开发进程,提高工作效率。

CCS 不仅仅是代码生成工具,把软件开发系统及硬件开发工具集成在一起,使程序的编写、编译、仿真、调试等工作可以在一个统一的环境中进行,简化了DSP的开发工作。

Code Composer Studio 3. 3(CCS v3. 3)白金版是TI公司推出的集成开发环境,可以支持多种处理器的开发调试,包括TMS320C6000,TMS320C5000,TMS320C2000 DSP 及OMAP平台。

它集成了代码编辑器、C编译器、汇编器、链接器,提供了基本调试工具,支持多DSP调试,提供了断点管理器、探针工具、分析工具、可视化数据显示工具、GEL工具,支持Real Time Data eXchang 技术,集成DSP/BIO 工具可以增强对代码的实时分析能力,可满足高级嵌人式系统开发的需求,并加快新产品开发进程。

CCS v3. 3 功能强大,方便易用,界面设置和用户体验与前期版本基本一致,缩短了用户熟悉的时间,便于升级与维护。

为了简化技术升级工作,CCSv3.3还可以与软件的前期版本同时运行。

2.3.2 代码生成工具
CCS的主要代码产生工具说明如下。

1.C/C++编译器(Compiler)
C/C 十十编译器把C/C++源程序转换成DSP 的汇编程序。

它由三部分组成:分析器、优化器和代码产生器。

分析器检查输入的C/C+十语言程序有无语义、语法错误,然后产生一个中间文件(*.if),它的运行包括预处理代码及代码分析两个阶段。

优化器是分析器和代码产生器之间的一个可选择的路径,其输入是分析器产生的中间文件(*.if),优化器对其优化后,产生一个高效版本的文件(*.opt),其优化的级别作为选项由用户来指定。

代码产生器以分析器生成的文件(*.if)和/或优化器生成的文件(*.opt)作为输入,生成一个汇编语言文件。

2.汇编器(Assembler)
汇编器把汇编语言源代码转换成COFF 格式的机器语言代码。

汇编源代码可以包含DSP 指令、汇编器伪指令及宏指令。

用户可以用汇编伪指令控制汇编过程的各个方面。

汇编器具有以下功能:
●处理文本文件中的源语句,生成可重定位的目标文件。

●生成源程序列表,并向用户提供对此列表的控制。

●允许用户把代码分成段,并为目标代码中的每一段都保持SPC(段程序
计数器)。

●汇编条件段。

●定义和引用全局符号。

●支持宏,允许用户在线定义宏或库内定义宏。

3.链接器(Linker)
链接器把多个COFF 目标文件链接成单个可执行的COFF 目标文件。

当它实现重定位并解决外部引用问题。

链接器接受汇编器所生成的重定位COFF 目标文件作为输入,它也接受归档目标库中的成员以及由链接器所创建的输出模块。

链接器伪指令允许用户组合目标文件段,把段或符号约束在某地址或存储器范围内,定义全局符号等。

4归档器(Archiver)
归档器允许用户把多个文件收集到单个归档文件中。

用户可以把几个宏源程序收集到宏库内,汇编器会搜索该库并调用源文件中引用的库成员;用户也可以使用归档器把多个目标文件收集到目标库内,链接器会将外部引用的库成员包含到生成的可执行文件中。

5.十六进制转换工具(Hex Conversion Utility)
人多数EPROM编程器井不接受COFF格式的目标文件。

十六进制转换工具把COFF 格式的目标文件转换成EPROM编程器支持的其它格式文件,如ASCII-hex、TI-Tagged、Intel或Motorola-S格式,转换后的文件就可以被下载到EPROM编程器中。

6,绝对列表器(Absolute Listen}
绝对列表器接受链接的目标文件作为输入,生成.abs文件,这些.abs文件可被重新汇总从而产生目标文件的绝对地址列表。

7.交叉引用列表器(Cross一Reference Lisier)
交叉引用列表器接受目标文件以产生交叉引用列表,此列表显示符号及其定义,并显示在链接的源文件内对它们的引用。

8.运行时支持库创建工具(Library一Build Utility)
利用运行时支持库创建工具,用户可以创建自己的运行时支持库.
9.运行时支持库(Run-Time-Support Library)
运行时支持库包含ANSI标准的运行时支持函数、编译器命令函数、浮点算术函数和I/O函数等。

10.汇编优化器
汇编优化器仅用于TIC6000 DSP,它接受用户编写的线性汇编代码作为输入,经汇编优化后生成标准汇编代码。

相关文档
最新文档