CCS开发指南

第一章  CCS概述 1

1.1 CCS概述 1

1.2 代码生成工具 3

1.3 CCS集成开发环境 5

1.3.1 编辑源程序 5

1.3.2创建应用程序6

1.3.3 调试应用程序 6

1.4 DSP/BIOS 插件 7

1.4.1 DSP/BIOS 配置 7

1.4.2 DSP/BIOS API 模块8

1.5 硬件仿真和实时数据交换 10

1.6 第三方插件 13

1.7 CCS文件和变量 14

1.7.1安装文件夹14

1.7.2文件扩展名14

1.7.3环境变量15

1.7.4增加DOS环境空间 16

第二章  开发一个简单的应用程序 17

2.1 创建工程文件 17

2.2 向工程添加文件 19

2.3 查看源代码 21

2.4 编译和运行程序 23

2.5 修改程序选项和纠正语法错误 24

2.6 使用断点和观察窗口 26

2.7 使用观察窗口观察structure变量 28

2.8 测算源代码执行时间 29

2.9 进一步探索 31

2.10进一步学习31

第三章  开发DSP/BIOS程序 32

3.1 创建配置文件 32

3.2 向工程添加DSP/BIOS文件 34

3.3 用CCS 测试 36

3.4 测算DSP/BIOS代码执行时间 38

3.5 进一步探索 40

3.6 进一步学习 40

第四章   算法和数据测试41

4.1 打开和查看工程 41

4.2 查看源程序 43

4.3 为I/O文件增加探针断点 45

4.4 显示图形 47

4.5 执行程序和绘制图形 48

4.6 调节增益 50

4.7 观察范围外变量 51

4.8 使用GEL文件 53

4.9 调节和测试processing函数 54

4.10 进一步探索 56

4.11 进一步学习 57

第五章 程序调试 58

5.1 打开和查看工程 58

5.2 查看源程序 60

5.3 修改配置文件 63

5.4 用Execution Graph查看任务执行情况66

5.5 修改和查看load值 67

5.6 分析任务的统计数据 70

5.7 增加STS显式测试 72

5.8 观察显式测试统计数据 73

5.9 进一步探索 75

5.10 进一步学习 75

第六章 实时分析 76

6.1 打开和查看工程 76

6.2 修改配置文件 77

6.3 查看源程序 79

6.4 使用RTDX控制修改运行时的load值 81

6.5 修改软中断优先级 84

6.6 进一步探索 85

6.7 进一步学习 85

第七章 I/O86

7.1 打开和查看工程 86

7.2 查看源程序 87

7.3 Signalprog应用程序 90

7.4 运行应用程序 91

7.5 使用HST和PIP模块修改源程序 93

7.6 HST和PIP资料 96

7.7 在配置文件中增加通道和SWI 97

7.8 运行修改后的程序 100

7.9 进一步学习 100

第一章  CCS概述

本章概述CCS(Code Composer Studio)软件开发过程、CCS组件及CCS使用的文件和变量。

CCS提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。

1.1 CCS概述

CCS提供了基本的代码生成工具,它们具有一系列的调试、分析能力。CCS支持如下所示的开发周期的所有阶段。


在使用本教程之前,必须完成下述工作:

安装目标板和驱动软件。按照随目标板所提供的说明书安装。如果你正在用仿真器或目标板,其驱动软件已随目标板提供,你可以按产品的安装指南逐步安装。

安装CCS.遵循安装说明书安装。如果你已有CCS仿真器和TMS320c54X代码生成工具,但没有完整的CCS,你可以按第二章和第四章所述的步骤进行安装。

运行CCS安装程序SETUP. 你可以按步骤执行第二章和第四章的实验。SETUP程序允许CCS使用为目标板所安装的驱动程序。

CCS包括如下各部分:

CCS代码生成工具:参见1.2节

CCS集成开发环境(IDE):参见1.3节

DSP/BIOS插件程序和API:参见1.4节

RTDX插件、主机接口和API:参见1.5节

CCS构成及接口见图1-1。

图1-1  CCS构成及接口

1.2 代码生成工具

        代码生成工具奠定了CCS所提供的开发环境的基础。图1-2是一个典型的软件开发流程图,图中阴影部分表示通常的C语言开发途径,其它部分是为了强化开发过程而设置的附加功能。

图1-2 软件开发流程

图1-2描述的工具如下:

C编译器(C compiler) 产生汇编语言源代码,其细节参见TMS320C54x最优化C编译器用户指南。

汇编器(assembler) 把汇编语言源文件翻译成机器语言目标文件,机器语言格式为公用目标格式(COFF),其细节参见TMS320C54x汇编语言工具用户指南。

连接器(linker) 把多个目标文件组合成单个可执行目标模块。它一边创建可执行模块,一边完成重定位以及决定外部参考。连接器的输入是可重定位的目标文件和目标库文件,有关连接器的细节参见TMS320C54x最优化C编译器用户指南和汇编语言工具用户指南。

归档器(archiver)允许你把一组文件收集到一个归档文件中。归档器也允许你通过删除、替换、提取或添加文件来调整库,其细节参见TMS320C54x汇编语言工具用户指南。

助记符到代数汇编语言转换公用程序(mnimonic_to_algebric assembly translator utility)把含有助记符指令的汇编语言源文件转换成含有代数指令的汇编语言源文件,其细节参见TMS320C54x汇编语言工具用户指南。

你可以利用建库程序(library_build utility)建立满足你自己要求的“运行支持库”其细节参见TMS320C54x最优化C编译器用户指南。

运行支持库(run_time_support libraries) 它包括C编译器所支持的ANSI标准运行支持函数、编译器公用程序函数、浮点运算函数和C编译器支持的I/O函数,其细节参见TMS320C54x最优化C编译器用户指南。

十六进制转换公用程序(hex conversion utility) 它把COFF目标文件转换成TI-Tagged、ASCII-hex、 Intel、 Motorola-S、或 Tektronix 等目标格式,可以把转换好的文件下载到EPROM编程器中,其细节参见TMS320C54x汇编语言工具用户指南。

交叉引用列表器(cross_reference lister)它用目标文件产生参照列表文件,可显示符号及其定义,以及符号所在的源文件,其细节参见TMS320C54x汇编语言工具用户指南。

绝对列表器(absolute lister)它输入目标文件,输出.abs文件,通过汇编.abs文件可产生含有绝对地址的列表文件。如果没有绝对列表器,这些操作将需要冗长乏味的手工操作才能完成。

1.3 CCS集成开发环境

CCS集成开发环境(IDE)允许编辑、编译和调试DSP目标程序。

1.3.1 编辑源程序

CCS允许编辑C源程序和汇编语言源程序,你还可以在C语句后面显示汇编指令的方式来查看C源程序。

集成编辑环境支持下述功能:

用彩色加亮关键字、注释和字符串。

以圆括弧或大括弧标记C程序块,查找匹配块或下一个圆括弧或大括弧。 

在一个或多个文件中查找和替代字符串,能够实现快速搜索。

取消和重复多个动作。

获得“上下文相关”的帮助。

用户定制的键盘命令分配。

1.3.2创建应用程序

应用程序通过工程文件来创建。工程文件中包括C源程序、汇编源程序、目标文件、库文件、连接命令文件和包含文件。编译、汇编和连接文件时,可以分别指定它们的选项。在CCS中,可以选择完全编译或增量编译,可以编译单个文件,也可以扫描出工程文件的全部包含文件从属树,也可以利用传统的makefiles文件编译。


1.3.3 调试应用程序

CCS提供下列调试功能:

设置可选择步数的断点

在断点处自动更新窗口

查看变量

观察和编辑存储器和寄存器

观察调用堆栈

对流向目标系统或从目标系统流出的数据采用探针工具观察,并收集存储器映象

绘制选定对象的信号曲线

估算执行统计数据

观察反汇编指令和C指令

CCS提供GEL语言,它允许开发者向CCS菜单中添加功能。

1.4 DSP/BIOS 插件

在软件开发周期的分析阶段,调试依赖于时间的例程时,传统调试方法效率低下。

DSP/BIOS插件支持实时分析,它们可用于探测、跟踪和监视具有实时性要求的应用例程,下图显示了一个执行了多个线程的应用例程时序。

图1-3 应用例程中各线程时序

DSP/BIOS API 具有下列实时分析功能:

程序跟踪(Program tracing)显示写入目标系统日志(target log)的事件,反映程序执行过程中的动态控制流。

性能监视(Performance monitoring)跟踪反映目标系统资源利用情况的统计表,诸如处理器负荷和线程时序。

文件流(File streaming)把常驻目标系统的I/O对象捆绑成主机文档。

DSP/BIOS 也提供基于优先权的调度函数,它支持函数和多优先权线程的周期性执行。

1.4.1 DSP/BIOS 配置

在CCS环境中,可以利用DSP/BIOS API定义的对象创建配置文件,这类文件简化了存储器映象和硬件ISR矢量映象,所以,即使不使用DSP/BIOS API 时,也可以使用配置文件。

配置文件有两个任务:

设置全局运行参数。

可视化创建和设置运行对象属性,这些运行对象由目标系统应用程序的DSP/BIOS API函数调用,它们包括软中断,I/O管道和事件日志。

在CCS中打开一个配置文件时,其显示窗口如下:

DSP/BIOS对象是静态配置的,并限制在可执行程序空间范围内,而运行时创建对象的API调用需要目标系统额外的开销(尤其是代码空间)。静态配置策略通过去除运行代码能够使目标程序存储空间最小化,能够优化内部数据结构,在程序执行之前能够通过确认对象所有权来及早地检测出错误。

保存配置文件时将产生若干个与应用程序联系在一起的文件,这些文件的细节参见1.7.2。

1.4.2 DSP/BIOS API 模块

传统调试(debuging)相对于正在执行的程序而言是外部的,而DSP/BIOS API要求将目标系统程序和特定的DSP/BIOS API模块连接在一起。通过在配置文件中定义DSP/BIOS对象,一个应用程序可以使用一个或多个DSP/BIOS模块。在源代码中,这些对象声明为外部的,并调用DSP/BIOS API功能。

每个DSP/BIOS模块都有一个单独的C头文件或汇编宏文件,它们可以包含在应用程序源文件中,这样能够使应用程序代码最小化。

为了尽量少地占用目标系统资源,必须优化(C和汇编源程序)DSP/BIOS API调用。

DSP/BIOS API划分为下列模块,模块内的任何API调用均以下述代码开头。

CLK。片内定时器模块控制片内定时器并提供高精度的32位实时逻辑时钟,它能够控制中断的速度,使之快则可达单指令周期时间,慢则需若干毫秒或更长时间。

HST。主机输入/输出模块管理主机通道对象,它允许应用程序在目标系统和主机之间交流数据。主机通道通过静态配置为输入或输出。

HWI。硬件中断模块提供对硬件中断服务例程的支持,可在配置文件中指定当硬件中断发生时需要运行的函数。

IDL。休眠功能模块管理休眠函数,休眠函数在目标系统程序没有更高优先权的函数运行时启动。

LOG。日志模块管理LOG对象,LOG对象在目标系统程序执行时实时捕捉事件。开发者可以使用系统日志或定义自己的日志,并在CCS中利用它实时浏览讯息。

MEM。存储器模块允许指定存放目标程序的代码和数据所需的存储器段。

PIP。数据通道模块管理数据通道,它被用来缓存输入和输出数据流。这些数据通道提供一致的软件数据结构,可以使用它们驱动DSP和其它实时外围设备之间的I/O通道。

PRD。周期函数模块管理周期对象,它触发应用程序的周期性执行。周期对象的执行速率可由时钟模块控制或PRD_tick的规则调用来管理,而这些函数的周期性执行通常是为了响应发送或接收数据流的外围设备的硬件中断。

RTDX。实时数据交换允许数据在主机和目标系统之间实时交换,在主机上使用自动OLE的客户都可对数据进行实时显示和分析,详细资料参见1.5。

STS。统计模块管理统计累积器,在程序运行时,它存储关键统计数据并能通过CCS浏览这些统计数据。

SWI。软件中断模块管理软件中断。软件中断与硬件中断服务例程(ISRs)相似。当目标程序通过API调用发送SWI对象时,SWI模块安排相应函数的执行。软件中断可以有高达15级的优先级,但这些优先级都低于硬件中断的优先级。

TRC。跟踪模块管理一套跟踪控制比特,它们通过事件日志和统计累积器控制程序信息的实时捕捉。如果不存在TRC对象,则在配置文件中就无跟踪模块。

有关各模块的详细资料,可参见CCS中的在线帮助,或TMS320C54 DSP/BIOS 用户指南。

1.硬件仿真和实时数据交换

TI DSPs提供在片仿真支持,它使得CCS能够控制程序的执行,实时监视程序运行。增强型JTAG连接提供了对在片仿真的支持,它是一种可与任意DSP系统相连的低侵扰式的连接。仿真接口提供主机一侧的JTAG连接,如TI XSD510。为方便起见,评估板提供在板JTAG仿真接口。

在片仿真硬件提供多种功能:

DSP的启动、停止或复位功能

向DSP下载代码或数据

检查DSP的寄存器或存储器

硬件指令或依赖于数据的断点

包括周期的精确计算在内的多种记数能力

主机和DSP之间的实时数据交换(RTDX)

CCS提供在片能力的嵌入式支持;另外,RTDX通过主机和DSP APIs提供主机和DSP之间的双向实时数据交换,它能够使开发者实时连续地观察到DSP应用的实际工作方式。在目标系统应用程序运行时,RTDX也允许开发者在主机和DSP设备之间传送数据,而且这些数据可以在使用自动OLE的客户机上实时显示和分析,从而缩短研发时间。

RTDX由目标系统和主机两部分组成。小的RTDX库函数在目标系统DSP上运行。开发者通过调用RTDX软件库的API函数将数据输入或输出目标系统的DSP,库函数通过在片仿真硬件和增强型JTAG接口将数据输入或输出主机平台,数据在DSP应用程序运行时实时传送给主机。

图1-4 RTDX系统组成

在主机平台上,RTDX库函数与CCS一道协同工作。显示和分析工具可以通过COM  API与RTDX通信,从而获取目标系统数据,或将数据发送给DSP应用例程。开发者可以使用标准的显示软件包,诸如National  Instruments ’  LabVIEW,Quinn-Curtis ’  Real-Time Graphics Tools,或Microsoft  Excel。同时,开发者也可研制他们自己的Visual  Basic或Visual  C++应用程序。

图1-5 RTDX实例

RTDX能够记录实时数据,并可将其回放用于非实时分析。下述样本由National Instruments’ LabVIEW 软件产生。在目标系统上,一个原始信号通过FIR滤波器,然后与原始信号一起通过RTDX发送给主机。在主机上,LabVIEW显示屏通过RTDX COM API获取数据,并将它们显示在显示屏的左边。利用信号的功率谱可以检验目标系统中FIR滤波器是否正常工作。处理后的信号通过LabVIEW,将其功率谱显示在右上部分;目标系统的原始信号通过LabVIEW的FIR滤波器,再将其功率谱显示在右下部分。比较这两个功率谱便可确认目标系统的滤波器是否正常工作。

RTDX适合于各种控制、伺服和音频应用。例如,无线电通信产品可以通过RTDX捕捉语音合成算法的输出以检验语音应用程序的执行情况;嵌入式系统也可从RTDX获益;硬磁盘驱动设计者可以利用RTDX测试他们的应用软件,不会因不正确的信号加到伺服马达上而与驱动发生冲突;引擎控制器设计者可以利用RTDX在控制程序运行的同时分析随环境条件而变化的系数。对于这些应用,用户都可以使用可视化工具,而且可以根据需要选择信息显示方式。未来的 TI DSPs 将增加RTDX的带宽,为更多的应用提供更强的系统可视性。关于RTDX的详细资料,请参见CCS中RTDX在线帮助。

1.第三方插件

第三方软件提供者可创建AxtiveX插件扩展CCS功能,目前已有若干第三方插件用于多种用途。


1.CCS文件和变量

本节简述CCS文件夹、CCS的文件类型及CCS环境变量。

1.7.1安装文件夹

安装进程将在安装CCS的文件夹(典型情况为:c:\ti)中建立子文件夹。此外,子文件夹又建立在Windows目录下(c:\windows or c:\winnt)。

C:\ti包含以下目录:

bin.各种应用程序

c5400\bios。DSP/BIOS API的程序编译时使用的文件

c5400\cgtools.Texas instruments源代码生成工具

c5400\examples.源程序实例

c5400\rtdx. RTDX文件

c5400\tutorial.本手册中使用的实例文件

cc\bin.关于CCS环境的文件

cc\gel.与CCS一起使用的GEL文件

docs.PDS格式的文件和指南

myprojects.用户文件夹

1.7.2文件扩展名

以下目录结构被添加到Windows目录:

ti\drivers.各种DSP板驱动文件

ti\plugins.和CCS一起使用的插件程序

ti\uninstall.支持卸载CCS软件的文件

当使用CCS时,你将经常遇见下述扩展名文件:

project.mak.CCS使用的工程文件

program.c.C程序源文件

program.asm. 汇编程序源文件

filename.h.C程序的头文件,包含DSP/BIOS API模块的头文件

filename.lib.库文件

project.cmd.连接命令文件

program.obj.由源文件编译或汇编而得的目标文件

program.out.(经完整的编译、汇编以及连接的)可执行文件

project.wks. 存储环境设置信息的工作区文件,

program.cdb.配置数据库文件。采用DSP/BIOS API的应用程序需要这类文件,对于其它应用程序则是可选的。

保存配置文件时将产生下列文件:

programcfg.cmd.连接器命令文件

programcfg.h54.头文件

programcfg.s54.汇编源文件

1.7.3环境变量

安装程序在autoexec.bat文件中定义以下变量(对Windows 95和98)或环境变量(对于Windows NT):

     表1-1  环境变量

           变  

描     

C54X_A_DIR

由汇编程序使用的搜索表和用于DSP/BIOS、RTDX以及代码生成工具的包含文件。可参见TMS320C54X汇编语言工具用户指南。

C54X_C_DIR                        

由编译程序和连接程序使用的搜索表和用于DSP/BIOS、RTDX以及代码生成工具的包含文件。可参见TMS320C54X 最佳C编译器用户指南。

PATH

添加到路径定义中的文件夹列表。缺省将添加文件夹c:\ti\c5400\cgtools\bin和c:\ti\bin。

1.7.4增加DOS环境空间

如果使用的是Windows 95,你可能需要增加DOS界面的环境空间,以便支持建立一个CCS应用所需的环境变量。

把下一行添加到config.sys文件中,然后重新启动计算机:

shell=c:\windows\commad.com /e:4096 /p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值