CCS简介:
CCS集成了代码的编辑、编译、链接和调试等功能,其主要功能如下。
  集成可视化代码编辑界面:
CCS将编辑、编译、构建、调试和分析等功能集成在一个环境中,使得软件开发无须在工具之间不断切换
集成代码生成工具:
包括代码编辑器、C/C++编译器、链接器等
基本调试工具:
可以装入执行代码,查看寄存器窗口、存储器窗口、反汇编窗口和变量窗口,并且支持源代码级调试
断点工具:
能在调试程序的过程中,设置软件断点、硬件断点、数据空间读/写断点、条件断点(使用GEL编写表达式)。
探针调试工具(probe points):
可用于算法仿真,数据监视。
性能分析工具(profile points):
可用于评估代码执行的时钟数。
实时分析和数据可视化工具:
如数据图形显示工具,可绘制时域/频域波形、眼图、星座图等,并具有自动刷新功能。
DSP/BIOS工具:
增强对代码的实时分析能力,如分析代码执行的效率、调度程序执行的优先级,方便管理和使用系统资源。

CCS的安装:
image.png
CCS的启动:

image.png
工程的建立:

image.png
文件的添加:

image.png
文件的编辑:
创建文件:
单击菜单File→New→Source File,在编辑窗口出现一个新的窗口。
在新窗口中输入文件名,选择Default C source template,单击Finish按钮,    完成一个新文件的创建。
打开文件
编辑文件:
文本的剪切、复制和粘贴
删除文本
撤销/恢复
文本的查找和替换
命令文件:
命令文件(文件名后缀为.cmd)为链接程序提供程序或数据在具体DSP硬件中的位置分配信息。
将某些特定的数据或程序放置在DSP所管理的内存中
为链接程序提供了DSP外扩存储器的描述。
描述硬件存储区,硬件存储区必须和硬件匹配,即说明的存储区必须是存在的和可用的。

.cmd文件的示例:
w                                //
-stack 500                        //定义用户堆栈大小
-sysstack 500                //定义系统堆栈大小
-l rts55x.lib                        //运行时支持库
MEMORY                 //定义存储区
{
    DARAM:  o=0x100,        l=0x7f00
    VECT:    o=0x8000,        l=0x100
    DARAM2: o=0x8100,        l=0x7f00
    SARAM:  o=0x10000,        l=0x30000
    SDRAM:  o=0x40000, l=0x3e0000
}
SECTIONS                //定义数据段
{
    .text:   {} > DARAM
    .vectors: {} > VECT
           .trcinit: {} > DARAM
    .gblinit: {} > DARAM
    frt:   {} > DARAM
    .cinit:   {} > DARAM
    .pinit:   {} > DARAM
    .sysinit:  {} > DARAM
    .bss:     {} > DARAM2
    .far:     {} > DARAM2
    .const:   {} > DARAM2
    .switch:  {} > DARAM2
    .sysmem: {} > DARAM2
    .cio:     {} > DARAM2
    .MEM$obj: {} > DARAM2
    .sysheap: {} > DARAM2
    .sysstack {} > DARAM2
    .stack:   {} > DARAM2
}

添加库:
首先在应用DSPLIB库的C文件中添加dsplib.h文件。
#include <dsplib.h>
单击菜单Project→Properties,在弹出的窗口中选择Build→C5500 Compiler→Include Options,添加dsplib.h目录:
image.png
在C5500 Linker中添加55xdsp.lib库:

image.png
工程的构建:
工程所需的源文件编辑完成后,就可以对该文件进行编译链接,生成可执行文件。构建(Building)是指编译(Compiling)、汇编(Assembling)和链接(Linking)3个步骤按顺序联合运行。
单击菜单Project→Build All,对当前工程进行构建。构建完毕,CCS生成一个.out文件,默认存放在工程下的Debug目录内。

CCS的配置:
单击菜单View→Target Configurations,弹出仿真配置窗口:
image.png
在出现的Target Configurations窗口中,右键单击User Defined选项,选择New Target Configuration,新建一个目标配置文件:
image.png
弹出New Target Configuration窗口,设置配置文件的名称,单击Finish按钮。
image.png
配置软件仿真和目标芯片的型号。
image.png
在VC5509-Simulator.ccxml文件上右键单击,选择Launch Selected Configuration选项,此时即进入调试状态,CCS显示出Debug窗口,即可以下载程序进行软件仿真调试。
调试完毕,单击菜单Run→Terminate,即可退出调试状态。

调试程序:
进入仿真调试:
首先打开要调试的工程文件,单击菜单Run→Debug,CCS开始自动编译、链接和下载程序,出现的仿真调试界面。界面中新增了一个Debug窗口,CCS自动打开volume.c,并且跳转到main函数.
image.png
单击菜单Run→Load→Load Program,在打开的对话框中选择刚刚建立的RT_TST.out文件,手动下载刚才编译生成的最终文件RT_TST.out

基本调试功能:
设置断点:软件断点是最常用的断点形式,在程序运行过程中如果遇到断点,程序就会暂时停止运行,回到调试状态。用户可以通过查看变量、图形等方式,发现程序中的错误。在项目浏览窗口中,双击volume.c激活这个文件,移动光标到while(TRUE)行上,在行号前双击即在此处设置一个断点。
利用断点调试程序。
image.png
① 单击菜单Run→Resume或按F8键,程序会自动停在while(TRUE)上。
② 单击菜单Run→Step Over或按F6键,单步执行到write_buffer函数。
③ 单击菜单Run→Step Into或按F5键,程序将转到write_buffer函数运行。
④ 为了返回main函数,单击菜单Run→Step Return或按F7键,完成write_buffer函数的执行。

观察窗口的使用:
在volume.c中,双击一个变量,再右键单击,选择Add Watch Expressions,在弹出的窗口中单击OK按钮,CCS将打开观察(Watch)窗口并显示选中的变量。可以在窗口中修改变量的值。
image.png
单击菜单Tools→Graph,弹出图形显示方式。图形显示有时域和频域方式,分别为Single Time、Dual Time、FFT Magnitude、FFT Magnitude Phase、Complex FFT和FFT Waterfall。

image.png