实验一  CCS基本操作实验
一、实验目的
1、掌握CCS软件的基本功能和作用;
2、掌握CCS软件的安装、配置过程;
3、了解DSP开发系统与PC机的连接方法和步骤;
4、熟悉CCS开发环境和基本操作,了解TMS320C55x 软件开发过程;
(1)学习创建工程和管理工程的方法;
(2)了解基本的编译和调试功能;
(3)学习使用观察窗口;
(4)了解图形功能的使用;
5、软件仿真的作用、步骤和基本原理。
二、实验设备
PC 兼容机一台,操作系统为Windows2000,安装Code Composer Studio 2.2 软件。
三、实验原理
1、调试工具
开发TMS320C55x应用系统一般需要以下几个调试工具来完成:
(1)软件集成开发环境CCS(Code Composer Studio 2.2:完成系统的软件开发,进行软件和硬件仿真调试,它也是硬件调试的辅助手段。
(2)开发系统、仿真器(ICETEK 5100-USB:实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据。
(3)评估模块即评估板CS-DSP5509A :提供软件运行和调试的平台和用户目标系统开发的参照。
2、CCS的作用
CCS主要完成系统的软件开发和调试。它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。
3、CCS工程文件
    用户系统的软件部分可以由CCS建立的工程文件进行管理,工程一般包含以下几种文件:
(1)源程序文件:C 语言或汇编语言文件(*.c *.asm);
(2)头文件(*.h):各种结构体和变量的定义,宏的定义,函数的声明等;
(3)命令文件(*.cmd):内存的使用情况,各个段的放置、地址和大小等情况;
(4)库文件(*.lib,*.obj): TI或用户自己定义的库文件,TI提供许多特定DSP(rts55x.lib55xdsp.lib)的库文件。用户自己编写的算法库文件。CCS既可以生成可执行工程文件,也可以生成库文件。
(5)内存映射文件(*.map):CCS编译连接后,生成的内存映射文件,开发人员可以根据此文件掌握内存的使用状况。
(6)可执行文件(*.out):可以在DSP上运行的可执行文件。在调试的时候,用CCS的Load program功能把此文件灌入到DSP芯片中。
四、实验内容
    本实验主要是软件仿真,即完全用CCS软件运行用户程序。软件仿真是在实验条件有限的环境下,如没有EVM或DSK、目标板等硬件设备。软件仿真通常用于调试纯软件的算法和进行效率分析等。由CCS软件在PC机内存中构造一个虚拟的DSP环境,可以调试、运行程序。在某种程度上,软件仿真是可信的。但是在有些情况下,如使用了外设DMA或算法非常复杂等,则软件仿真的结果就不可信了,甚至结果错误,因为一般软件无法构造DSP中的外设。
在使用软件仿真方式工作时,无需连接板卡和仿真器等硬件。
汇编语言指导书
1、配置CCS工作环境:
(1)双击桌面上的,进入CCS设置窗口,“Import Configuration”。
(2)在出现的窗口中按标号顺序进行如下设置:
图2 CCS 初始化配置窗口
接着在下面出现的窗口中选择“否(N”。
此时CCS 已经被设置成Simulator 方式(软件仿真TMS320VC5509A 器件的方式),如果一直使用这一方式就不需要重新进行以上设置操作了。
(3)启动CCS
启动软件仿真Simulator方式,双击桌面上的图标:
2、启动CCS后的窗口
为方便介绍CCS各个功能,这里截取了一个实用工程的开发界面,若按照以上步骤操作的话,界面要简单的多。图3为CCS工作环境,图4为一个典型开发工程的开发界面。
图 3 CCS工作环境
图4    典型实用开发工程CCS界面
3、创建工程
(1)创建新的工程文件:
        选择菜单“Project”的“New…”项。
图 5 建立新工程操作
弹出下图,按编号顺序操作建立volume.pjt 工程文件:
③单击完成设置
图6 创建新工程步骤
展开主窗口左侧工程管理窗口中“Projects”下新建立的“volume.pjt”,其中各项均为空。
(2)在工程文件中添加程序文件:
选择菜单“Project”的“Add Files to Project…”项;在“Add Files to Project”对话框中选择文件目录为D:\5509\program\UseCCS,改变文件类型为“C Source Files*.c”,选择显示出来的文件“volum.c”;重复上述各步骤,添加d 文件到volume 工程中;添加C:\ti\C5500\cgtools\lib\rts55.lib 文件到工程中。
(3)编译链接工程:
选择菜单“Project”的“Rebuild All”项,或单击工具条中的按钮;注意编译过程中CCS 主窗口下部的“Build”提示窗中显示编译信息,最后将给出错误和警告的统计数。
4、编辑修改工程中的文件:
(1)查看工程文件:
展开CCS 主窗口左侧工程管理窗中的工程各分支,可以看到“volume.pjt”工程中包含“volume.h”、“rts55.lib”、“volume.c”和“d”文件,其中第一个“volume.h”为程序在编译时根据程序中的“include”语句自动加入的。
(2)查看源文件:
双击工程管理窗中的“volume.c”文件,可以查看程序内容。可以看到,用标准C语言编制的程序,大致分成几个功能块:
-头文件。描述标准库程序的调用规则和用户自定义数据、函数头、数据类型等。具体包含哪一个头文件,需要根据程序中使用了哪些函数或数据而定。比如:如果程序中使用了printf 函数,它是个标准C 提供的输入/输出库函数,选中“printf”关键字,按Shift+F1会启动关于此关键字的帮助,在帮助信息中可发现其头函数为stdio.h,那么在此部分程序中需要增加一条语句:#include “stdio.h”
-工作变量定义。定义全局变量。
-子程序调用规则。这部分描述用户编制的子程序的调用规则。也可以写到用户自己编制的.
h 文件中去。
-主程序。即main()函数。它可分为两部分:变量定义和初始化部分、主循环部分。主循环部分完成程序的主要功能。
-用户自定义函数。
这个程序是一个音频信号采集、处理输出的程序。程序的主循环中调用自定义的函数read_signals 来获得音频数据并存入输入缓存inp_buffer 数组;再调用自定义函数write_buffer来处理音频数据并存入输出缓存;output_signals 将输出缓冲区的数据送输出设备;最后调用标准C 的显示信息的函数printf 显示进度提示信息。整个系统可以完成将输入的音频数据扩大volume 倍后再输出的功能。
read_signals()子程序中首先应有从外接AD设备获得音频数据的程序设计,但此例中由于未采用实际AD设备,就未写相应控制程序。此例打算用读文件的方式获得数据,模拟代替实际的AD输入信号数据。
write_buffer()子程序中首先将输入缓冲区的数据进行放大处理,即乘以系数volume,然
后放入输出缓冲区。
output_signals()函数完成将处理后的设备输出的功能,由于此例未具体操作硬件输出设备,所以函数中未写具体操作语句。
双击工程管理窗中的“volume.h”文件,打开此文件显示,可以看到其中有主程序中要用到的一些宏定义如“BUF_SIZE”等。
d 文件定义程序所放置的位置,此例中描述了CS DSPVC5509A评估板的存储器资源,指定了程序和数据在内存中的位置。
比如:它首先将CS DSPVC5509A 评估板的可用存储器分为五个部分,每个区给定起始地址和长度(区域地址空间不允许重叠);然后指定经编译器编译后产生的各模块放到哪个区。这些区域需要根据评估板硬件的具体情况来确定。
(3)编辑修改源文件及编译程序:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。