第 6 章 tms320c54x 软件开发环境 ccs

55
第 6 第 TMS320C54x 第第第第第第 CCS CCS 第 TI 第第第第第第第第第 DSP 第第第第第第第第第 第第 Windows 第第第第第第第 第第第 第第第 第第第 、、、 第第第第第第第第第第第第第第第 第 、一体 第第第第第第第 C 第第第第第第第第第第 参参TMS320C54x Code Composer Studio Tutorial.pdf spru327c 2000 TI

Upload: sybill-flowers

Post on 01-Jan-2016

232 views

Category:

Documents


0 download

DESCRIPTION

第 6 章 TMS320C54x 软件开发环境 CCS. CCS 是 TI 公司推出的用于开发 DSP 芯片的集成开发环境。 采用 Windows 风格界面集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体 支持汇编语言与 C 语言及二者的混合编程. 参考: TMS320C54x Code Composer Studio Tutorial.pdf , spru327c , 2000 , TI 官网. 第 6 章 TMS320C54x 软件开发环境 CCS. 目录:. 6.1 CCS 的简介 6.2 CCS 的组成 6.3 CCS 集成开发环境 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

CCS 是 TI 公司推出的用于开发 DSP 芯片的集成开发环境。采用 Windows 风格界面集编辑、编译、

链接、软件仿真、硬件调试以及实时跟踪等功能于一体

支持汇编语言与 C 语言及二者的混合编程

参考: TMS320C54x Code Composer Studio

Tutorial.pdf , spru327c , 2000 , TI 官网

Page 2: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

目录:6.1 CCS 的简介6.2 CCS 的组成6.3 CCS 集成开发环境6.4 DSP/BIOS 插件介绍6.5 硬件仿真和实时数据交换6.6 第三方插件6.7 CCS 集成开发环境与 simulator 使用方法6.8 CCS 开发流程6.9 CCS 使用举例

Page 3: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

CCS 是 TI 公司针对 TMS320 系列设计的集成

开发环境 , 该软件在 Windows 操作系统下工作,采用图形接口界面,并可提供环境配置、源

文件编辑、程序调试、跟踪和分析等功能。

6.1 CCS 的简介

Page 4: 第 6 章  TMS320C54x 软件开发环境 CCS

6.1 CCS 的简介

CCS 有两种工作模式:

2. 硬件在线编程模式

可以在 DSP 芯片上实时运行,与硬件开发板相结合进行在线编程和调试应用程序。

1. 软件仿真器模式

可以脱离 DSP 芯片,在 PC 机上模拟 DSP 的指令集和工作机制,主要用于前期的算法实现和调试。

Page 5: 第 6 章  TMS320C54x 软件开发环境 CCS

6.2.1 代码生成工具 图 6-1 CCS 构成及接口

JTAG(Joint Test Action Group)

Page 6: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2 CCS 的组成

CCS 包括以下各部分:• 代码生成工具• 集成开发环境( IDE )• DSP/BIOS 实时内核插件及其应用程序接口 API

• 实时数据交换的 RTDX 插件及相应的程序接口API

• 由 TI 公司以外的第三方提供的各种应用模块插件等

Page 7: 第 6 章  TMS320C54x 软件开发环境 CCS

6.2.1 代码生成工具

Page 8: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.1 代码生成工具

• C 编译器 (C compiler) :产生汇编语言源代码。

• 汇编器 (assembler) :把汇编语言源文件翻译成机器语言目标文件,机器语言格式为公共目标格式( COFF )。

Page 9: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.1 代码生成工具

• 连接器 (linker) :把多个目标文件组合成单个可执行目标模块。它一边创建可执行模块,一边完成重定位以及决定外部参考。连接器的输入是可重定位的目标文件和目标库文件。

Page 10: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.1 代码生成工具

助记符到代数汇编语言转换公用程序:把含有助记符指令的汇编语言源文件转换成含有代数指令的汇编语言源文件。

用户可以利用建库程序:建立满足自己要求的“运行支持库”。

Page 11: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.1 代码生成工具

• 运行支持库 (run_time_support

libraries) :包括 C 编译器所支持的ANSI 标准运行支持函数、编译器公用程序函数、浮点运算函数和 C 编译器支持的 I/O 函数。

Page 12: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.1 代码生成工具

• 十六进制转换公用程序 (hex

conversion utility) :把 COFF 目标文件转换成 TI-Tagged 、 ASCII-

hex 、 Intel 、 Motorola-S 或Tektronix 等目标格式,可以把转换好的文件下载到 EPROM 编程器中。

Page 13: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.1 代码生成工具

• 交叉引用列表器:它用目标文件产生参照列表文件,可显示符号及其定义,以及符号所在的源文件。

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

Page 14: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.2 CCS 集成开发环境CCS 的应用界面

Page 15: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.2 CCS 集成开发环境

1 编辑源程序CCS 允许编辑 C 源程序和汇编语言源程序,还可以用在 C 语句后面显示汇编指令的方式来满足编程者查看 C 源程序的需要。集成编辑环境支持下述功能:

Page 16: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.2 CCS 集成开发环境

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

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

2 )以圆括弧或大括弧标记 C 程序块,

找匹配块或下一个圆括弧或大括弧。

Page 17: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.2 CCS 集成开发环境

3 )在一个或多个文件中查找和替代字符串,能够实现快速搜索。4 )取消和重复多个动作。5 )获得“上下文相关”的帮助。6 )用户定制的键盘命令分配。

Page 18: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.2 CCS 集成开发环境

2. 创建应用程序应用程序通过工程文件来创建。工程文件中包括 C 源程序、汇编源程序、目标文件、库文件、连接命令文件和包含文件等。编译、汇编和连接文件时,可以分别指定它们的选项。

Page 19: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.2 CCS 集成开发环境

3 调试应用程序CCS 提供下列调试功能:1 )设置可选择步数的断点。2 )断点处自动更新窗口。3 )查看变量。4 )观察和编辑存储器和寄存器。

Page 20: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.2 CCS 集成开发环境

5 )观察调用堆栈。6 )对流向目标系统或从目标系统流出的数 据采用探针工具观察,并收集存储器映象。7 )绘制选定对象的信号曲线。8 )估算执行统计数据。9 )观察反汇编指令和 C 指令。

Page 21: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

DSP/BIOS 插件,支持实时分析,可用于探测、跟踪和监视具有实时性要求的应用例程。 DSP/BIOS 内核是一个小型的规模可调整的实时内核,尤其适用于实时和同步需求的用户。

Page 22: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

DSP/BIOS 可提供抢先式多线程的实时系统性能分析。可以说 DSP/

BIOS 是一个小型的实时操作系统内核,使用该插件可方便地实现多线程任务处理。

Page 23: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

使用该插件可方便地实现多线程任务处理。

Page 24: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

系统在实时运行中,一些功能函数由外部控制信号驱动或者按既定周期运行,线程可以定义为不同的优先级。高优先级线程可以中断低优先级的线程,而且不同的线程之间可以实现交互。

Page 25: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

线程分为以下 4 种类型 (优先级由高到低 ) :硬件中断 (HWI) 、软件中断(SWI) 、任务 (TSK) 、后台线程(IDL) 。

Page 26: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

DSP/BIOS 环境下有 3 种通信方式,即基

于管道 (PIPE) 的通信、基于流 (SIO) 通

道的通信以及基于主机 (HST) 通道的通信。

Page 27: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

DSP/BIOS 内核由以下部分组成:

• 配置工具。此工具允许用户创建和配置 DSP/

BIOS 内核对象,并且允许用户对内存、线程优先级、中断等进行个性化设置。

• 实时分析工具。包含许多观察程序执行情况的窗口,便于对程序和线程进行实时观察。

Page 28: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

• DSP/BIOS 内核。 DSP/BIOS 可通过 API

函数来完成客户程序所定制的服务。• 芯片支持库。芯片支持库为 DSP/BIOS 提

供了宏定义和函数,便于实现对片上外设的管理,简化配置过程。

Page 29: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

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

• 程序跟踪功能。显示目标系统日志的任务,动态跟踪程序执行过程中的控制流。

• 性能监视功能。实时反映目标系统资源利用情况的统计表,显示处理器负荷和线程时序等指标。

• 文件流功能。把常驻目标系统的 I/O 对象打包成主机文档。

Page 30: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍1.DSP/BIOS 配置

配置文件有两个任务: 1 )设置全局运行参数。 2 )可视化创建和设置运行对象属性,这 些运行对象由目标系统应用程序的 DSP/BIOS API 函数调用,它们包括 软中断、 I/O管道和事件日志。

Page 31: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

2 DSP/BIOS API 模块

DSP/BIOS API 是将目标系统程序和特定的DSP/BIOS API 模块连接在一起。通过在配置文件中创建 DSP/BIOS 对象,一个应用程序可以使用一个或多个 DSP/BIOS 模块。

Page 32: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

2 DSP/BIOS API 模块

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

1 ) HST :主机输入 / 输出模块

2 ) CLK :由片内定时器模块控制片内定时器并提供高精度的 32 位实时逻辑时钟

Page 33: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

3 ) HWI :硬件中断模块

4 ) IDL :休眠功能模块管理休眠函数

5 ) LOG :日志模块管理 LOG 对象

6 ) MEM :存储器模块

7 ) PIP :数据通道模块

Page 34: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

8 ) PRD :周期函数模块管理周期对象 9 ) RTDX :实时数据交换允许数据在主机 和目标系统之间实时交换,在主机上使 用 OLE 的客户利用该工具都可对数据进 行实时显示和分析。

OLE: Object Linking and Embedding ,对象连接与嵌入技术

Page 35: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.3 DSP/BIOS 插件介绍

10 ) STS :统计模块管理统计累积器

11 ) SWI :软件中断模块管理软件中断

12 ) TRC :一组具有跟踪功能的模块,

可管理一组控制位

Page 36: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.4 硬件仿真和实时数据交换

TI 公司的 DSP 提供片上仿真支持,它使得 CCS不仅能控制程序的执行,还能实时监视程序运行。增强型 JTAG 连接提供了对在片仿真的支持,它是一种可与任意 DSP 系统相连的抗干扰式连接。 JTAG(Joint Test Action Group)联合测试行动小组 )

Page 37: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.4 硬件仿真和实时数据交换

在片仿真硬件提供多种功能:• DSP 的启动、停止或复位功能•向 DSP 下载代码或数据•检查 DSP 的寄存器或存储器• 硬件指令或依赖于数据的断点• 包括周期的精确计算在内的多种记数能力• 主机和 DSP之间的实时数据交换( RTDX )

Page 38: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.4 硬件仿真和实时数据交换

CCS 提供对片上系统的嵌入式支持;

RTDX 可通过主机和 DSP API 函数提供主

机和 DSP之间的双向实时数据交换。

Page 39: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.4 硬件仿真和实时数据交换

在目标系统应用程序运行时, RTDX也允

许开发者在主机和 DSP 设备之间实时传

送数据,而且这些数据可以在使用自动

OLE 的客户机上实时显示和分析。

Page 40: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.2.4 硬件仿真和实时数据交换

RTDX 由目标系统和主机两部分组成

在主机平台上, RTDX 库函数与 CCS 共同工作,并相互协作。显示和分析工具可以通过 COM API 与 RTDX 通信,从而获取目标系统数据,或将数据发送给 DSP

应用例程。

Page 41: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

RTDXTargetLibrary

TargetApplication

Target TargetApplicatio

n

HostClient

RTDXTargetLibrary

CodeCompos

erCOM

Interface

OpertionalLog File

Host

JTAG Interface

图 6-5 RTDX 系统组成

Page 42: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.3 CCS 集成开发环境与 simulator 使用方法

6.3.1安装文件夹

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

windows 或 c:\winnt )。

Page 43: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.3 CCS 集成开发环境与 simulator 使用方法

6.3.2 文件扩展名

以下目录结构被添加到 Windows 目录:• ti\drivers. 各种 DSP 板驱动文件• ti\plugins. 和 CCS 一起使用的插件程

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

Page 44: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.3 CCS 集成开发环境与 simulator 使用方法

6.3.2 文件扩展名当使用 CCS 时会经常遇见下述扩展名文件:project.mak CCS 使用的工程文件program.c C 程序源文件program.asm 汇编程序源文件filename.h C 程序的头文件filename.lib 库文件

Page 45: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.3 CCS 集成开发环境与 simulator 使用方法6.3.2 文件扩展名 project.cmd 连接命令文件program.obj 由源文件编译或汇编而得 的目标文件program.out 可执行文件project.wks 存储环境设置信息的工作 区文件program.cdb 配置数据库文件

Page 46: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.3 CCS 集成开发环境与 simulator 使用方法6.3.2 文件扩展名

保存配置文件时将产生下列文件:programcfg.cmd 连接器命令文件programcfg.h54 头文件programcfg.s54 汇编源文件

Page 47: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

表 6-1 环境变量

变 量 描述C54X_A_DIR 由汇编程序使用的搜索表和用于

DSP/BIOS 、 RTDX 以及代码生成工具的包含文件。

C54X_C_DIR 由编译程序和连接程序使用的搜索表和用于 DSP/BIOS 、 RTDX 以及代码生成工具的包含文件。

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

bin 和 c:\ti\bin 。

Page 48: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.3 CCS 集成开发环境与 simulator 使用方法6.3.4 CCS 系统配置

采用标准配置文件进行系统配置的步骤:步骤 1 :启动 CCS 配置程序。步骤 2 :清除以前定义的配置。 步骤 3 :选择与目标系统相匹配的配置文件,然后点击鼠标右键 -add to system 将配置加入系统。

Page 49: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.3 CCS 集成开发环境与 simulator 使用方法

6.3.4 CCS 系统配置步骤 4 :将所选中的配置文件加入到系统配置中。 步骤 5 :如果使用硬件调试工具,则需安装驱动程序。 步骤 6 :保存系统配置。 步骤 7 :关闭 SETUP 程序。

Page 50: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.3.4 CCS 系统配置CCS 中常用文件名和应用界面如下:1.常用文件名*.cmd — 链接命令文件;*.obj — 由源文件编译或汇编后所生成的目标文件;*.out — 完成编译、汇编、链接后所形成的可执行文件,可在 CCS监控下调试和执行

Page 51: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

2. 应用界面启动 CCS 后的界面如图 6-10 所示。

工程项目窗口

图形显示窗口

内存显示窗口

寄存器显示窗口

主菜单

工具条

反汇编窗口

源程序编辑窗口

Page 52: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.4 CCS 开发流程

软件设计

程序调试

程序编辑 和编译链接

结果分析

修改程序错误

修改错误

图 6-11 利用 CCS 集成环境开发应用程序的流程

Page 53: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.4 CCS 开发流程

1. 软件设计 主要包括程序模块的划分、算法和流程的确定

以及执行结果的预测等工作。2. 程序编辑和编译链接 主要进行工程文件的创建,编写头文件、配置

文件和源程序,使用汇编和 C 编译器进行编译,排除语法、变量定义等错误。

Page 54: 第 6 章  TMS320C54x 软件开发环境 CCS

第 6 章 TMS320C54x 软件开发环境 CCS

6.4 CCS 开发流程 3. 程序调试 利用 CCS 软件的调试工具,采用单步执行、

设置断点和探测点等手段对应用程序进行调试。

4. 结果分析 利用 CCS 软件提供的分析工具,对应用程

序运行的结果进行分析若算法不能满足要求,则需重新进行软件设计。

Page 55: 第 6 章  TMS320C54x 软件开发环境 CCS

作业习题 6.1 , 6.3 , 6.4