paradoxfx

【原创】TI C2833x编程环境介绍---(2)什么是COFF?

0
阅读(2256)

CCS编程环境包含内建的编辑器(当然也可以使用其它的文本编辑器)、编译器(源程序编译)、汇编器、链接器,并使用了自动的编译过程(只需要点击build all就行了)。其次,还内含了许多图形化的工具(比如前面提到的Graph图形显示)。一起其它的功能可以以插件的形式来提供,要是再配合一定的GEL脚本文件将更近方便。其基本的原理框架如图1所示。

 

图1 CCS开发环境的基本框架

linker,即链接,将编译生成的多个目标文件obj合并为一个文件,比如.out输出文件,或者.lib库文件。链接器同时根据DSP的资源情况,将不同的模块分配到不同的区域;定义这种分配方式的文件即命令文件(.CMD) ,它定义了内存资源的划分,及不同段(sections)的存储器区域,比如常量存放在A区域,变量存放在B区域,程序声明存放在C区域等等(这里的ABC仅为了命名的方便,不是实际区域的名字)。在连接生成.OUT文件后,还有相对应的.MAP文件,即包含了每个区段所存放的位置。

图1所示的系统其模块化和可移植性水平很高,从而可以简化验证、调试和维护的过程。更多更详细的关于COFF的概念可以参考http://www.ti.com.cn/cn/lit/an/spraao8/spraao8.pdf这个专门讲解COFF的文档。有时候从宏观上了解一下整个编译的过程对提高DSP编程技能还是很有益处的。简单的概括其基本思想,就是“多模块化”。工程越大,文件越复杂,越能体现出它的优势。