为了便于理解,本节以分立的开发工具集为例,分步介绍TMS320C54x软件开发所必需的步骤。具体说来,TMS320C54x软件开发过程包括以下几个阶段:C编译阶段、汇编阶段、链接阶段、调试阶段。
如果程序是采用汇编语言编写的,则无需经过C编译阶段。如果程序是采用C语言编写的,则需要通过C编译器先将其翻译成汇编语言程序(生成.asm文件),然后再将所有汇编程序通过汇编器进行汇编生成COFF格式的中间目标代码,接着调用链接器进行链接,生成在TMS320C54x上可执行的COFF格式的目标代码(或可进一步通过格式转换工具,将其转换为十六进制文件.hex或二进制文件.bin,供EPPROM/FLASH烧写使用,如将该代码固化到EPROM中或加载到用户的应用系统中,可使DSP目标系统脱离计算机单独运行),最后利用调试工具对可执行代码进行调试。TMS320C54x的软件开发流程如图5-1所示,其中阴影部分是最常用的软件开发流程,其他部分为可选项。
图5-1 TMS320C54x的软件开发流程图
下面简要说明图5-1中使用的开发工具名称及其功能。
1)C编译器(C Compiler):用于把C语言源程序自动地编译为TMS320C54x的汇编语言源程序。
2)汇编器(Assembler):用于把汇编语言源文件翻译成机器语言目标文件,机器语言格式为公用目标格式(COFF)。
3)链接器(Linker):用于把多个目标文件组合成单个可执行目标模块。它一边创建可执行模块,一边完成重定位以及决定外部参考。链接器的输入是可重定位的目标文件和目标库文件。(www.xing528.com)
4)归档器(Archiver):用于把一组文件收集到一个归档文件中。利用归档器,可以方便地删除、替换、提取或添加库文件。
5)建库工具(Library-build Utility):用来建立用户自己用的、C语言编写的支持运行的库函数。
6)运行时间支持库(Runtime-support Libraries):它包括C编译器所支持的ANSI标准运行支持函数、编译器公用程序函数、浮点运算函数和C编译器支持的I/O函数。
7)HEX代码转换工具(HexConversion Utility):它把COFF目标文件转换成TI-Tagged、ASCII-hex、Intel、Motorola-S或Tektronix等目标格式,可以把转换好的文件下载到EPROM编程器中。
8)交叉引用列表器(Cross-reference Lister):它用目标文件产生参照列表文件,可显示符号及其定义,以及符号所在的源文件。
9)绝对地址列表器(Absolute Address Lister):它用于输入目标文件,输出.abs文件,通过汇编.abs文件可产生含有绝对地址的列表文件。如果没有绝对列表器,这些操作将需要冗长乏味的手工操作才能完成。
此外,开发过程中还会应用到其他的开发工具,在此不再一一列举,有兴趣的读者可以查阅TMS320C54x最优化C编译器用户指南。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。