DSP软件开发介绍
TMS320C6200软件开发介绍
(初稿)
软件开发环境(1)
• CCS(Code Compose Studio)集成环境 提供了完整的TMS320系列DSP芯片软件开 发环境,用户可以通过CCS方便的实现 DSP软件的仿真、单步调试、断点调试等, 可以查看DSP系统的各种资源。CCS集成 环境的界面类似于Microsoft Visual C++。
• 硬件调试
运行”Setup CCS“应用程序,在中间的选择栏中选择相应的硬件仿 真器驱动程序(如果驱动程序没有安装,可以使用”Install a device driver”安装驱动程序),设置仿真器使用的IO口和gel文件,保存设置。
工程文件
工程文件中包含下列文件:
• Prj 工程文件,记录了工程所包含的源文件和工程设置
• Gel
EMIF接口控制寄存器初始化文件,存储器接口必须正确的初 始化了以后才能使用,程序要访问外部存储器,必须先利用菜 单命令调用此文件对EMIF口初始化
• Cmd 命令文件,记录了编译时的编译选项,本文件主要用来进行 系统存储器的定义和分配
• C/C++ C/C++语言源文件
• Asm 汇编语言源文件
long double *
宽度 32 64 64 32
注释:long型整数占用8字节长度,但是只有低40位为有效位。
数据类型定义
typedef signed char
TSchar;
typedef unsigned char
TUchar;
typedef signed short int TSint16;
• Sa1 线性汇编语言源文件
注释:1:Sa文件是可选的。
Endianness
Endianness模式定义了多字节数据类型中数据的 存储顺序,共有两种模式:
• Little Endian
Most Significant字节存储在高地址中。
• Big Endian
Most Significant字节存储在低ቤተ መጻሕፍቲ ባይዱ节中。 例如:0x12345678
TMS320C6204性能简介
• 主频:<=200MHz • CPU:2个16位定点乘法器,6个32位定点运算单元; • CPU寄存器:32个32Bits通用寄存器,分为A、B两组,
每组16个; • 数据总线:32Bits • 数据通道:两个数据通道,可同时从内部数据存储器中执
行两个32Bits读和两个32Bits数据写操作;
EMIF接口有4个地址空间:CE0、 CE1、CE2和CE3
2. XBUS
XBUS接口有4个地址空间:XCE0、XCE1、XCE2和XCE3
Setup CCS
• 软件仿真
运行“Setup CCS”应用程序,打开“Import Configurations”对话框, 从“Available Configurations”中选择“C62xx Fast Sim Ltl Endizn”, 单击”Import“按钮,关闭对话框,保存设置。 通过上面的设置我们可以使用CCS对C62xx系列DSP进行快速仿真, Ltl表示使用Little Endian方式。快速仿真不能仿真任何与硬件相关的 操作,如定时器、DMA等。
Byte Address 0x03 0x02 0x01 0x00
Big-Endian
0x78 0x56 0x34 0x12
Little-Endian 0x12 0x34 0x56 0x78
数据类型
数据类型 char short int long
宽度 8 16 32
64(40)
数据类型 float double
软件开发环境(2)
• CCS IDE由于要和硬件打交道,所以在使 用前要进行一定的设置,TI提供了CCS Setup应用程序来完成CCS工作方式的设置。
• CCS可以工作在两种模式下: 1、软件仿真模式; 2、硬件仿真模式。(要使用硬件仿真器和目 标板)
编程语言
• TMS系列DSP芯片支持3种编程语言,开发 人员可以选择任何一种语言进行程序开发, 也可以混合使用各种语言。 1、ANSI C 语言; 2、线性汇编语言; 3、汇编语言。
C6204存储器空间
TMS320C6204存储器采用线性编址方 案,除了CPU内部寄存器外,所有其他设 备(包括外设控制寄存器、外部存储器等) 都编址在一个统一的地址空间中,地址总 线为32位,所以地址空间为:
0x0000’0000 - 0xFFFF’FFFF
C6204地址映射
外部存储器接口
C6204提供了两个外部存储器总线接口: 1. EMIF
typedef unsigned short int TUint16;
typedef signed int
TSint32;
typedef unsigned int
TUint32;
typedef signed long int TSint64;
typedef unsigned long int TUint64;
TMS320C6204结构图
DSP Hareware Resource
• 64KBytes Internal Program RAM • 64KBytes Internal Data RAM • 2 32Bits -Timers • 2 McBSP(Multichannel Buffered Serial Port) • 32Bits EMIF Interface • 32Bits XBUS(Expansion Bus) • 16 Level Interrupt,6 External Interrupt Source
typedef float
TFloat32;
typedef double
TDouble64;
typedef unsigned char
TBool;
注释:程序中只能使用在此处定义的数据类型,不得直接使用int等标准类型定义变量。
C语言库文件
C6000系列处理器使用了两种库文件:
• rts6200.lib、rts6400.lib、rts6700.lib。这三个库使用little endian 模式,分别适用于C6200、C6400、C6700系列处理器。
• rts6200e.lib、rts6400e.lib、rts6700e.lib。这三个库使用Big endian模式,分别适用于C6200、C6400、C6700系列处理器。