自己找到问题了!库路径的问题!在buildoption-linker在CCS2.2下的路径是c:\ti\c6000\bios\lib\c:\ti\c6000\cgtools\lib而在CCS3.3下的路径是C:\CCStudio_v3.3\C6000\cgtools\libC:\CCStudio_v3.3\C6000\csl\lib更改后,编译正确了!!Hex
文件是16进制的,OUT文件相当于windows *** 作系统的.exe可执行文件。可以在CCS 的simulator模式下电脑仿真运行或者在emulator模式下通过仿真器下载到目标DSP芯片上运行。TI的编译器,连接器等工具产生的目标文件格式为Common Object File Format(简称COFF)。COFF格式是AT&T开发的,在UNIX系统中所采用的目标文件格式。TI的编译器产生的obj文件以及连接之后产生的out文件都是COFF格式的。用CCS载入out文件到DSP的内存的时候,CCS会分析这个out文件,将其中储存的代码段和初始
数据等段中的数据复制到DSP的内存中,并且设置程序指针到Entry Point(入口地址)。Hex5x, Hex6x等转换工具通过分析out文件,将其输出为一个boot table,方便各种自举(自启动)程序的编写。例如我们经常把这样的boot table写入flash, 制作成能从flash自举的应用程序。
COFF最开始是文件头和附加文件头,附加文件头中保存有Entry Point的地址。其后就是Section Header表,其中有各个section的物理地址、长度以及初始化数据的在文件中的偏移地址等信息。所有的section header结束之后就是数据区了。也就是需要复制到DSP 内存中去的数据。其后还有连接用的relocation信息,如果out文件的话不需要这些信息,relocation之后是符号表,例如C语言的全局变量,函数等符号都在这个表中储存。最后是字符串表,section的名称或者符号名称太长的时候就把这些名称字符串储存到字符串表中。
评论列表(0条)