第6章4 CCS集成开发环境的使用-实验3
- 格式:pdf
- 大小:217.44 KB
- 文档页数:10
4.1 CCS集成开发环境的介绍CCS(Code Composer Studio)是由TI公司针对开发TMS320系列的DSP芯片而推出的一种集成开发环境,运行于Windows操作系统中,并且使用清晰明了的图形交互界面有助于用户在软件环境下完成对程序的编辑、编译、链接、运行、软件的仿真、调试硬件和数据分析等工作。
通过提供环境配置、程序的调试、源文件的编辑、以及程序运行时的跟踪以及数据处理的分析等工具,能够满足用户完成开发DSP系统所有环节的各种需求,缩短了系统开发所需要的时间,很大程度上给设计者带来了方便。
现阶段,CCS是用于DSP系统开发的典型软件,受到了广泛的应用。
CCS的工作模式有两种:软件仿真和硬件在线编程[2]。
前者的仿真可以不用真实的DSP芯片,仅在个人微型计算机上就可以仿真DSP系统的实际工作流程,作用主要是验证前期处理算法的准确性以及调试编辑好的程序;后者的在线编程则可以在DSP芯片上进行实际的操作运行,结合硬件开发板一块实现对程序的编辑和调试以便实现特定的功能。
图4-1和图4-2分别为CCS集成开发环境运行时的配置窗口和工作窗口:图4-1 CCS的配置窗口图4-2 CCS的工作界面4.1.1 CCS的组成CCS的系统开发一般由以下五个部分组成:●C54x系列芯片的集成代码生成工具;●DSP/BIOS插件和应用程序的接口API;●RTDX插件(用于对数据进行实时的交换)和与之对应的程序接口API;●CCS集成开发环境;●非TI的公司作为第三方所提供的多种应用模块插件。
这五个组成部分用来对C语言、汇编语言或者是二者的混合语言编写的源程序进行编译、链接,最终生成可执行的程序代码,然后将其加载到指定的DSP 芯片中来完成预先设定的数据处理的任务。
4.1.2 CCS的主要功能CCS集成开发环境的功能很强大,集成了对程序的编辑、编译、链接、运行、仿真和实时跟踪等用于系统开发的所有功能,包括对工程的管理以及对软件和硬件的调试等工具,还可以对C/C++与汇编语言进行混合编程,主要的功能有:1、提供GEL工具:通过GEL的扩展语言能够编写适合自己的菜单和控制面板,而且能够对变量和配置参数等进行方便地修改;2、支持RTDX技术:在目标系统运行的过程中不经过中断就可以实现与其他应用程序进行数据交换的目的;3、编辑代码的界面是集成可视化的:用户可以在CCS的工作界面上直接编写源程序和命令文件;4、图形显示工具能够将数据处理后的结果在屏幕上清晰的显示出来:包括信号的时域和频域的波形、星座图和眼图等多种图形,而且能够对这些图形进行自动的刷新;5、具有集成代码的生成工具(包括C语言的编译器、汇编语言的汇编器以及链接器等):在一个软件中集成了对程序的编辑、编译、链接和运行调试等所有功能;6、提供DSP/BIOS工具:可以对程序代码进行实时分析;7、性能独特的编辑器能够动态的加亮显示程序的动态语法,这样便使得代码的阅读更为方便,语法错误的识别更加的容易快捷;8、可以设置断点的工具:在程序的调试过程当中可以对软硬件设置断点,还可以对条件断点进行设置;9、分析工具:对仿真器、模拟器进行分析,用于对硬件的功能进行监视和模拟、对程序执行的时钟信息进行评价;10、用户可以对程序进行项目管理。
实验一 TI DSP集成开发环境CCS的使用CCS是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows 风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。
一、CCS简介CCS是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供环境配置、源文件编辑、程序调试、跟踪和分析等工具。
CCS有两种工作模式:1、软件仿真器模式:可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。
2、硬件在线编程模式:可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。
本次实验主要采用软件仿真器模式。
二、CCS系统配置采用标准配置文件进行系统配置的步骤:步骤1:启动CCS配置程序。
双击桌面上的Setup CCS快捷图标,弹出系统配置界面。
步骤2:选择与目标系统相匹配的配置文件(若已有别的目标系统配置文件,清除以前定义的配置,再进行选择)。
将所选中的配置文件加入到系统配置中。
步骤3:保存系统配置。
单击“Save”按钮,出现如下窗口,将系统配置保存在系统寄存器中,完成CCS的系统配置。
,进入CCS开发环境界面选择“是”,进入CCS开发环境界面。
三、CCS 中常用文件名和应用界面1、常用文件名*.cmd —— 链接命令文件;*.obj —— 由源文件编译或汇编后所生成的目标文件;*.out —— 完成编译、汇编、链接后所形成的可执行文件,可在CCS 监控下调试和执行。
2、应用界面四、实验举例1.创建新工程利用CCS创建一个新工程,然后向该工程中添加源代码文件和库文件。
2.向工程中添加文件一个工程项目包括源程序、库文件、链接命令文件和头文件等。
3.察看源代码在工程视图中volume.c上双击,就可在CCS右边窗口中察看源代码。
第6章CCS集成开发环境介绍及安装在CCS中,我们可以创建一个新的项目或导入一个已存在的项目。
对于新项目,我们可以选择DSP型号、编程语言和开发平台等。
CCS支持多种编程语言,包括C、C++和汇编语言。
在创建项目时,我们可以选择合适的编程语言。
除了基本的开发工具,CCS还提供了一些额外的功能和插件。
例如,CCS提供了RTOS(Real-Time Operating System)插件,可以帮助我们进行实时操作系统的开发。
CCS还支持与其他工具的集成,例如Matlab和Simulink,可以方便地进行模型的生成和代码的生成。
总体而言,CCS是一款功能强大的集成开发环境,适用于德州仪器DSP的软件开发和调试。
它提供了一系列的开发工具,方便我们进行代码的编写、编译、调试和性能分析。
通过CCS,我们可以提高开发效率,加快产品的上市时间。
因此,对于从事基于德州仪器DSP的应用程序开发的开发人员来说,学习和使用CCS是非常必要的。
DSP实验实验二TI DSP集成开发环境CCS的使用昆明理工大学信息工程与自动化学院电工电子教学实验中心主讲:杨秋萍讲师CCS是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows 风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。
一、CCS的简介CCS是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供环境配置、源文件编辑、程序调试、跟踪和分析等工具。
CCS有两种工作模式:1、软件仿真器模式:可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。
2、硬件在线编程模式:可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。
本次实验主要采用软件仿真器模式。
二、CCS系统配置采用标准配置文件进行系统配置的步骤:步骤1:启动CCS配置程序。
双击桌面上的Setup CCS快捷图标,弹出对话框。
步骤2:清除以前定义的配置。
步骤3:选择与目标系统相匹配的配置文件。
步骤4:将所选中的配置文件加入到系统配置中。
步骤5:安装驱动程序。
点击“Intall a Device Driver ”,弹出选择器件驱动程序对话框。
步骤6:保存系统配置。
打开“File ”菜单,单击“Save ”按钮,将系统配置保存在系统寄存器中,完成CCS 的系统配置。
三、CCS 中常用文件名和应用界面1、常用文件名*.cmd —— 链接命令文件;*.obj —— 由源文件编译或汇编后所生成的目标文件;*.out —— 完成编译、汇编、链接后所形成的可执行文件,可在CCS 监控下调试和执行。
钮 钮系统配置窗口 安装驱动程序2、应用界面四、实验举例1. 创建新工程利用CCS 创建一个新工程,然后向该工程中添加源代码文件和库文件。
1) CCS 的安装目录为c:\ti ,首先在文件夹c:\ti\myprojects\下建立一个新的文件夹,命名为volume1。
第4章集成开发环境CCS的使用<i>集成开发环境CCS的使用</i>第4章集成开发环境CCSDSP开发需要强有力的软件开发工具。
软件开发工具一般具有代码生成和代码调试的功能。
1北京交通大学国家工科电工电子教学基地DSP应用技术<i>集成开发环境CCS的使用</i>DSP开发需要强有力的软件开发工具。
软件开发工具一般具有代码生成和代码调试的功能。
设计代码编译调试分析CCS开发流程2北京交通大学国家工科电工电子教学基地DSP应用技术<i>集成开发环境CCS的使用</i>代码生成工具包括:C优化编译器、汇编器和连接器等。
作用:将用户编写的源代码(C语言、汇编或两者的混合语言)编译、汇编、连接成为可执行的公共目标文件(COFF),将公共目标文件(文件后缀为.out)下载到DSP目标板或Simulator中即可运行。
调试工具主要有:C/汇编代码调试器、硬件仿真器(Emulator)、软件模拟器(Simulator)等。
3北京交通大学国家工科电工电子教学基地DSP应用技术<i>集成开发环境CCS的使用</i>3.1 CCS的主要功能◆集成可视化代码编辑界面。
可直接编写C 程序、汇编程序、连接命令文件.cmd等。
◆集成代码生成工具。
包括汇编器、C优化编译器、连接器等。
◆基本调试工具。
如装载可执行代码、查看寄存器、存储器和变量的窗口。
◆断点工具。
设置断点使程序暂停,以便于查看有关数据,确定程序可能出错的位置。
4北京交通大学国家工科电工电子教学基地DSP应用技术<i>集成开发环境CCS的使用</i>◆探针调试。
用于数据文件的输入和输出。
◆剖析工具(Profiler)。
用于评估代码运行所需要的时钟数,进而确定代码的运行时间。
◆数据图形显示工具。
用于绘制变量的时域/频域波形、眼图、星图等,直观显示数据。
6.4.3 图像数据转换与CCS图像显示实验本节以利用CCS实现图像显示为例,进一步学习CCS的图形显示(Graph)调试技术,同时提供图像数据的转换方法。
为了方便起见,本实验将6.4.2中的volume目录下的文件稍加修改。
目标板仍为TMS320C64xx Simulator。
1.修改volume目录下的工程文件假定CCS安装在C:\CCStudio_v3.3目录下。
(1)将C:\CCStudio_v3.3\tutorial\sim64xx\volume1文件夹拷贝到文件夹C:\CCStudio_v3.3\MyProjects下。
(2)运行CCS,并打开工程volume.pjt。
(3)将C:\CCStudio_v3.3\C6000\cgtools\lib中C64x DSP的C语言运行支持库文件rts6400.lib 添加到工程中。
(4)右击工程观察窗中volume.pjt图标,在弹出的菜单中点击“Scan All File Dependencies”命令,CCS将volume.h自动添加到volume工程中。
(5)修改volume.c文件。
打开volume.c文件,在“extern void load(unsigned int loadValue);”上一行添加如下一段代码,定义图像存储空间。
#pragma DATA_ALIGN(image, 8) // 图像每个像素数据以8字节对齐#pragma DATA_SECTION(image,".imgbuffer") //为数组image分配一个段,段名为imgbufferunsigned char image[SIZE] = { }; // SIZE大小是图像的像素个数(6) 修改volume.cmd文件。
打开volume.cmd,将其内容作如下修改:/* cmd 文件*/MEMORY{L2: o =00010000h l =000F0000hCE0: o =80000000h l =01000000h /*存放图像数据image起始地址和长度*/}SECTIONS{.cinit > CE0.text > L2.stack > L2.bss > L2.const> L2.data > L2217.far > L2.switch> L2.sysmem > L2.tables > L2.cio > L2.imgbuffer > CE0/*存放图像数据image,将image数据存放到DSP外部RAM中,即CE0, 存放起始地址为80000000h*/}2.图像数据转换图像的数据格式和DSP工程中的数据格式是不同的,因此若要在CCS中使用这些图像数据,则必须进行转换。
可以利用高级语言,如Matlab或C语言将一副图像的数据提取出来,转换成DSP可用的数据。
以下bmp2data1.m是Matlab图像数据提取和转换程序。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%bmp2data1.m%利用MATLAB将灰度或索引图像转换为十六进制数据文件Clear;clc;[filename,filepath]=uigetfile('C:\ProgramFiles\MATLAB\R2007a\work\*.bmp','Open Bmp file');%为打开bmp图像而打开一个标准对话框[X,map]= imread([filepath,filename]);%将bmp文件数据读到X中imshow(X,map);%在Matlab中显示图像X1=X';%X转秩,考虑到reshape函数转换数据的顺序,在调用reshape之前进行数据调整。
Y=reshape(X1,1,[]);%数组维数转换fid=fopen('C:\ProgramFiles\MATLAB\R2007a\work\CCSbmpdata.txt','w');%打开一个数据文件,存放待写数据。
L=length(Y);for m=1:Lfprintf(fid,'0x%s,',dec2hex(Y(m))); %向CCSbmpdata.txt中写入Y的十六进制数据endfclose(fid); %关闭fid标识的文件%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%在Matlab下运行程序bmp2data1.m,将256x256图像文件lena.bmp进行转换,生成十六进制图像数据文件CCSbmpdata.txt,数据如下。
0x8A,0x85,0x81,0x83,0x83,0x83,0x81,0x81,0x82,0x83,0x81,0 x80,0x83,0x83,0x81, …….218数据存放的是图像的各个像素,数据的个数等于图像的像素个数。
以256x256图像文件lena.bmp为例,SIZE=256x256=65536。
将CCSbmpdata.dat所有数据拷贝出来,给volume.c中的“unsigned char image[SIZE] = { };”赋值(注意将CCSbmpdata.txt数据中的最后一个“,”去掉),并将SIZE替换为65536。
3.CCS图像观察窗CCS图形观察窗包括显示数据的多种选择,用户可以使用图像图标(image graph)在CCS下查看图像处理的效果。
在“View”菜单中选择“Graph”下的“image”命令,打开图形属性对话框,查看图像属性对话框。
如图6-36所示。
图6-36 色彩空间为YUV时的图形属性对话框如果定义正确,采集缓冲区和显示缓冲区中将含有完整的图像。
当图像更新时,采集缓冲区从目标板中提取数据,显示缓冲区被采集缓冲区中的数据所覆盖。
色彩空间(Color Space)定义显示数据的方式,即YUV和RGB两种方式。
当色彩空间为YUV时,图形属性对话框窗为图6-36所示。
“YUV Ratio”选项定义Y、U和V样点(sample)之间的关系,一般有3种选择,即4:1:1(每4个水平Y样点,1个U样点和1个V样点)、4:2:2(每2个水平Y样点,1个U样点和1个V样点)和4:2:0(每2x2水平Y样点,1个U 样点和1个V样点)。
每个Y、U和V样点都使用8位表示,此下有3个域,即Y源起始地址(Start Address-Y Source)、U源起始地址(Start Address-U Source)和V源起始地址(Start Address-V Source)。
另外还有YUV值转换域(Transformation of YUV Values),将YUV转换为RGB。
转换有两个步骤,即先将YUV为Y’U’V’,然后再从Y’U’V’转换为RGB。
YUV值转换域有两个选择,“Unity(none)”(即使用单位矩阵将YUV转换Y’U’V’)和“ITU-R BT 601 (CCIR601)”(即使用CCIR601矩阵,按照ITU-R BT.601 (早期为CCIR 601)亮度将YUV转换为RGB)。
当色彩空间为RGB时,图形对话框中隔行扫描数据源“Interleaved Data Sources”选项选择为Yes或No,表明图像是否隔行扫描。
如果选择No,则图形属性对话框如图6-37(a)所示。
当选择Yes时,下方将出现“Start Address”、“Bits Per Pixel”、“Image RGB Order”选项。
“Start Address”(起始地址)代表一个具有三个隔行扫描源的缓冲器输入,这个缓冲区的隔行为1,如R0G0B0R1G1B1 ...序列代表RGB分量的流为像素0,接着是像素1。
如图6-37(b)所示。
219220(a)图像不隔行扫描(b)图像隔行扫描图6-37 色彩空间为RGB时图形属性对话框“Bits Per Pixel”(每个像素的位数)可选位数有“8 (256 Color Palette)”(256色彩调色板,每个像素有8位值,指向调色板)、“16 (6 Bits for Green)”(每个像素是2个字节的数值,其中红色5位,绿色6位,蓝色5位)、“24”(每个像素由3个字节数值,各有8位分别表示红色、绿色和蓝色)和“32”。
如果此域选择16、24或32的话,还会出现“Image RGB Order”选项,定义红黄蓝的顺序。
如果选择“8 (256 Color Palette)”,还会出现“Palette Option”选项,此选项定义了从8位像素值(palette index)到RGB色彩值的转换,可选项为“Uniform Palette of 256 Colors”、“Gray Scale of 256 Colors”和“User Defined (256 Colors)”。
如果选择“User Defined (256 Colors)”,还会出项4个选项,即“Palette Address”、“Palette Entry 4-Byte Aligned”、“Palette Entry RGB Order”和“Read Palette Once Only”。
色彩空间为RGB时,图形对话框中的隔行扫描数据源“Interleaved Data Sources”选择为“No”时,每个像素的R、G和B各个分量是为8位宽度,各个分量的值范围是0~255。
选择“No”,则还有三个图形属性选项,即“Start Address - R Source”、“Start Address - G Source”和“Start Address - B Source”。
此外,图形属性对话框中还有一些选项,如“Lines Per Display”定义了像素高度。
“Pixels Per Line”定义了像素宽度。
“Byte Packing to Fill 32 Bits”定义了目标板或simulator数据的图像压缩格式。
如果选择“No”,表示字节类型的数据流不压缩,目标板或simulator中的每个数据值是字节类型的。
如果选择“Yes”,表示字节类型的数据流压缩,每四个字节一组形成数据包。
数据包是32位无符号整型数,数据值的低字节是数据包的第一个字节。
如果选择“Yes”,还会有“Image Row 4-Byte Aligned”选项,若此选项选择“Yes”,目标板或simulator的每个图像行是4字节对齐,选择“No”表示不对齐。