CCS(Code Composer Studio)是TI公司为TMS320系列DSP软件开发推出的一个完整的DSP集成开发环境,是目前使用最为广泛的DSP开发软件之一。它最早由GO DSP公司为TI公司的VC6000系列开发,后来TI公司收购GO DSP,并将CCS扩展到其他系列。现在所有的TI公司的DSP都可利用该软件工具进行开发。
CCS内部集成了以下软件工具:
1)DSP代码生成工具(包括DSP的C编译器、汇编优化器、汇编器和链接器等)。
2)CCS集成开发工具(编辑、链接和调试DSP目标程序)。
3)实时分析插件DSP/BIOS和实时数据交换模块RTDX等(必须有硬件开发板)。
CCS是一个可视化的集成开发工具,包括了编辑、编译、汇编、链接、软件模拟、在线仿真和调试及实时跟踪等几乎所有需要的软件工具。集成的源代码编辑环境,使程序的修改更为方便;集成的代码生成工具,使设计者不必在DOS窗口输入大量的命令及参数;集成的调试工具,使调试程序一目了然,大量的观察窗口使程序调试得心应手。这些特性极大地方便了DSP程序的设计和开发。此外,CCS加速和增强了实时、嵌入信号处理的过程开发,它提供配置、构造、调试、跟踪和分析程序的工具,在基本代码生成工具的基础上增加了调试和实时分析的功能。设计者可在不中断程序运行的情况下检查算法的正确性,实现对硬件的实时跟踪调试,从而大大缩短了程序的开发时间。
下面对CCS中集成的几种主要的软件工具进行说明。
1.C编译器(CCompiler)
汇编语言程序具有执行速度快的优点,但用汇编语言编写程序是比较费时费力的,且可移植性很差。因此一般DSP厂家都提供了髙级语言(一般是C语言)编程的设计方法。C编译器将DSP库函数、头文件及C语言源程序自动的编译成汇编语言源程序。C编译器通常符合ANSI C标准,可以对编写的程序进行不同等级的优化,以产生高效的汇编代码。它还具有对存储器的配置、分配及部分链接功能,并具有灵活的汇编语言接口等多种功能。
但是,C编译器编译出的汇编程序比手工汇编程序长得多,其效率一般只有20%~40%。为了克服C编译器低效率的问题,在提供标准C库函数的同时,开发系统也提供了许多针对DSP运算的高效库函数,如FFT、FIR、IIR、相关、矩阵运算等,它们都是手工汇编的,带有高级语言调用和返回接口。
通常情况下,为了实现高效编程,在系统软件设计开发中,最常见的设计方法是主程序用C语言编写,而关键的运算处理程序用汇编程序编写,采用这种混合编程技术可以极大地提髙编程效率。
2.汇编器(Assembler)和链接器(Linker)
汇编器和链接器用于把汇编代码转换为可以在目标DSP上运行的可执行目标代码。它们支持宏汇编和目标库,产生的目标代码可重新定位,在程序地址空间中的具体地址不变。其中汇编器用于把汇编语言源文件转变为基于公用目标文件格式的机器语言目标文件。链接器用于将主程序、库函数和子程序等,由汇编器产生的目标文件链接在一起,产生一个可执行的模块,形成DSP目标代码。在链接过程中,链接器完成目标代码的定位、解决符号的外部引用等。
3.软件模拟器(Simulator)(www.xing528.com)
软件模拟器是一种模拟DSP的各种功能并在非实时条件下进行软件调试的调试工具,它不需要硬件支持,只需在计算机上运行。软件模拟器模拟DSP的I/O口时采用与文件关联的方法来实现,因而调试中所需的I/O值可从文件中读取,输出的I/O值也可存储在文件中。将程序代码加载到软件模拟器后,在一个窗口工作环境中可以模拟DSP的运行程序,同时对程序进行单步执行、设置断点、对寄存器/存储器进行观察、修改、统计某段程序的执行时间等。程序执行一旦终止,还可对内部寄存器、程序和数据存储器做检査和修改,也可显示跟踪寄存器。整个模拟的记录可以做成一个文件,下次再做模拟的时候,运行该文件就可以恢复同样的机器状态。通常情况下程序编写完后都会在软件模拟器上进行调试,以初步确定程序的可运行性。
软件模拟器的主要功能有以下几点:
1)在计算机上执行用户的DSP程序。
2)可修改和査看寄存器、程序和数据存储器,任何时候都可进行存储器的修改,也可在程序装入前进行存储器初始化。
4)可计算指令周期数。
5)可进行编程的断点设置,可在取指令、读写存储器及错误条件满足时设置断点。
7)指令的单步执行。
8)用户设定的中断产生间隔。
9)在遇到非法操作码和无效数据访问时提示错误信息。
10)从文件中执行命令。
早期的软件模拟器与其他开发工具(如编译器、汇编器、链接器等)是分离的,使用起来不太方便。现在,软件模拟器作为CCS的一个标准插件已经被广泛应用于DSP的开发中。但是,软件模拟器的主要欠缺是对外部接口的仿真不够完善。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。