1 引言
CCS(Code Composer Studio) 是 TI公司的 DSP集成开发环境。它提供了环境配置、源文
件编辑、程序调试、跟踪和分析等工具 ,帮助用户在一个软件环境下完成编辑、编译链接、
调试和数据分析等工作。与 TI 提供的早期软件开发工具相比 ,利用 CCS能够加快软件开发进
程,提高工作效率。 CCS一般工作在两种模式下 :软件仿真器和与硬件开发板相结合的在线编
程。前者可以脱离 DSP芯片 ,在PC机上模拟 DSP指令集与工作机制 ,主要用于前期算法实现和
调试。后者实时运行在 DSP芯片上 ,可以在线编制和调试应用程序。
2 C语言和汇编语言的混合编程
TMS320 C5000 系列的软件设计通常有三种方法 :
(1) 用C语言开发 ;
(2) 用汇编语言开发 ;
(3) C和汇编的混合开发。
其中用 C语言开发具有兼容性和可移植的优点 ,有利于缩短开发周期和减少开发难度 ,
但是在运算量较大的情况下 ,C代码的效率还是无法和手工编写的汇编代码的效率相比 ,比如
FFT运算 ,用汇编语言开发的效率高 ,程序执行速度快 ,而且可以合理利用芯片的硬件资源 ,但
是开发难度较大 ,开发周期长 ,而且可读性和可移植性差。 C和汇编的混合编程则可以充分利
用前两者的优点 ,以达到最佳利用 DSP资源的目的。 但是 ,采用 C和汇编语言混合编程必须遵循
相关函数调用规则和寄存器调用规则 ,否则会给程序的开发带来意想不到的问题。
2.1 C语言和汇编语言混合编程的四种方法
(1) 独立编写汇编程序和 C程序 ,分开编译或汇编成各自的目标代码模块 ,再用链接器
将二者链接起来。这种方法比较灵活 ,但是设计者必须自己维护各汇编模块的入口和出口代
码,自己计算传递的参数在堆栈中的偏移量 ,工作量较大 ,但是能做到对程序的绝对控制。
(2) 在C程序中使用汇编程序中定义的变量和常数。
(3) 在C程序中内嵌汇编语句。这种方法可以实现 C语言无法实现的一些硬件控制功
能,如修改中断控制寄存器。
(4) 将C语言编译生成相应的汇编代码 ,手工修改和优化 C编译器生成的汇编代码。采
用这种方法可以控制 C编译器 ,从而产生具有交叉列表的汇编程序 ,而设计者可以对其中的汇
编语句进行修改 ,然后对汇编程序进行编译 ,产生目标文件。
后3种方法由于在 C中直接嵌入了汇编语言 ,易造成程序混乱 ,破坏 C环境 ,甚至导致程
序崩溃 ,而开发者又很难对不良结果进行预期和有效控制。而如果采用第一种方法 ,只要遵循
有关 C语言函数调用规则和寄存器规则 ,就能预见到程序运行的结果 ,保证程序正确。