TI中文支持网
TI专业的中文技术问题搜集分享网站

CCS5.1环境下用DATA SECTION伪指令不成功问题

专家你们好:

 最近我调试DSP6678时用CCS5.1开发环境,在C代码中用DATA SECTION伪指令,目的把一段buffer空间分配到指定的段中,但最后编译成功后,在符号表中却找不到buffer符号,不要DATA SECTION伪指令后在符号表中能够找到buffer符号。请问怎么解决该问题。

Allen35065:

你可以把相关代码贴出来看看

一般使用方式,

.cmd文件里

MEMORY

{

        L2: o=0x10800000, l=0x00100000

}

SECTIONS

{

         .myData > L2

}

C文件里

#pragma DATA_SECTIONS(nArray, ".myData")

int nArray[];

 

jun lu1:

回复 Allen35065:

我写的C代码肯cmd文件和你说的一样,我这些C代码和cmd文件在其他平台比如C6455、CCS4.1下面都是好的,就是弄到CCS5.1下面后就不行了。

striker Qian:

回复 jun lu1:

工程中含有cfg文件吗?不如你把相关代码简化一下和cmd文件一起贴上来看看。

jun lu1:

回复 striker Qian:

今天我又做实验,coff格式可以,用elf格式就不行,是不是elf格式存在编译器bug,或者是否还需设置编译选项,如果是设置哪些?

striker Qian:

回复 jun lu1:

这个问题应该跟coff还是elf格式没有关系,也不会是编译器选项的问题。不如你把你试验失败的elf工程贴上来看看。另外,ccs v5.1 好像不如ccs5.2或者ccs5.3好用,在win7下经常遇到意想不到的bug。建议你安装更高的ccs版本后再试一试。

jun lu1:

回复 striker Qian:

原因已查明,优化能力CCS4.1强,在未开启任何优化选项下未使用的全局变量被优化掉了,即使加上VOLATILE,或者CONST修饰.

赞(0)
未经允许不得转载:TI中文支持网 » CCS5.1环境下用DATA SECTION伪指令不成功问题
分享到: 更多 (0)