第一章 CCS 概述
第一章 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 节
1
第一章 CCS 概述
RTDX 插件、主机接口和 API:参见 1.5 节
CCS 构成及接口见图 1-1。
图 1-1
CCS 构 成 及 接 口
2
第一章 CCS 概述
1.2 代码生成工具
代码生成工具奠定了 CCS 所提供的开发环境的基础。图 1-2 是一个典
型的软件开发流程图,图中阴影部分表示通常的 C 语言开发途径,其它部
分是为了强化开发过程而设置的附加功能。
图 1-2 软 件 开 发 流 程
图 1-2 描述的工具如下:
C 编 译 器 (C compiler) 产 生 汇 编 语 言 源 代 码 , 其 细 节 参 见
TMS320C54x 最优化 C 编译器用户指南。
汇 编 器 (assembler) 把 汇 编 语 言 源 文 件 翻 译 成 机 器 语 言 目 标 文
件,机器语言格式为公用目标格式(COFF),其细节参见 TMS320C54x
汇编语言工具用户指南。
连接器(linker) 把多个目标文件组合成单个可执行目标模块。它
3
第一章 CCS 概述
一边创建可执行模块,一边完成重定位以及决定外部参考。连接器的
输 入是 可重 定 位的 目标 文 件和 目标 库 文件 ,有 关连 接 器的 细节 参 见
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 文件可产生含有绝对地址的列表文件。如果没有绝对
列表器,这些操作将需要冗长乏味的手工操作才能完成。
4
第一章 CCS 概述
1.3 CCS 集成开发环境
CCS集成开发环境(IDE)允许编辑、编译和调试DSP目标程序。
1.3.1 编辑源程序
CCS允许编辑C源程序和汇编语言源程序,你还可以在C语句后面显
示汇编指令的方式来查看C源程序。
集成编辑环境支持下述功能:
用彩色加亮关键字、注释和字符串。
以圆括弧或大括弧标记C程序块,查找匹配块或下一个圆括弧或大括
弧。
在一个或多个文件中查找和替代字符串,能够实现快速搜索。
取消和重复多个动作。
获得“上下文相关”的帮助。
用户定制的键盘命令分配。
5
第一章 CCS 概述
1.3.2 创建应用程序
应用程序通过工程文件来创建。工程文件中包
括C源程序、汇编源程序、目标文件、库文件、连
接 命令 文件 和 包含 文件 。 编译 、汇 编 和连 接文 件
时,可以分别指定它们的选项。在CCS中,可以选
择 完全 编译 或 增量 编译 , 可以 编译 单 个文 件, 也
可 以扫 描出 工 程文 件的 全 部包 含文 件 从属 树 ,也
可以利用传统的makefiles文件编译。
1.3.3 调试应用程序
CCS提供下列调试功能:
设置可选择步数的断点
在断点处自动更新窗口
查看变量
观察和编辑存储器和寄存器
观察调用堆栈
对流向目标系统或从目标系统流出的数据采用探针工具观察,并收
集存储器映象
绘制选定对象的信号曲线
估算执行统计数据
观察反汇编指令和C指令
CCS提供GEL语言,它允许开发者向CCS菜单中添加功能。
6
第一章 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管道和事件日志。
7
在CCS中打开一个配置文件时,其显示窗口如下:
第一章 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 位实时逻
8