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

C6701变量初始化失败问题求助

最近一个C6701的板子遇到一个奇怪的问题:

我在程序里定义了浮点型全局数组,就像这样float a[3] = {1.1, 2.2, 3.3};

把程序烧进flash后上电后产品输出不对,加上仿真器去看发现数组a的值并没有初始化为我定义的初始值,数组元素的所有四个字节都加载成了最高的字节。比如a[0]原本的四个字节应该为0x12345678,但是现在经过_c_int00初始化后成了0x12121212。我在同一文件中定义的3×3的2维数组却初始化正确。

现在只有定义成方阵且所有元素都初始化过才能初始化正确,其他方式定义的数组都不行,例如定义float a[2][3]或float a[3][3]的元素没有全部初始化都会出错。

带仿真器的时候如果用-c链接选项加载程序也是同样的现象,但是改成-cr就可以。

我用的外部boot模式,CE0是32bit的SDRAM,flash是8bit的。不知道跟我的DSP没有使能字节寻址有没有关系。还请大神们指点迷津,谢谢。

Shine:

请问在脱机时, 用的.out文件也是经过-cr选项编译后的.out文件么?

mvller yang:

回复 Shine:

不是,脱机是用的-c选项。烧写进去的也是用的-c选项编译出来的.out

mvller yang:

回复 Shine:

Shine Zhang

请问在脱机时, 用的.out文件也是经过-cr选项编译后的.out文件么?

Shine:

回复 mvller yang:

如果二维的可以, 一维的不可以, 会不会是编译器的问题?

c6701是很老的芯片, 你用的编译器也是老版本的吧?

mvller yang:

回复 Shine:

Shine Zhang

如果二维的可以, 一维的不可以, 会不会是编译器的问题?

c6701是很老的芯片, 你用的编译器也是老版本的吧?

赞(0)
未经允许不得转载:TI中文支持网 » C6701变量初始化失败问题求助
分享到: 更多 (0)