TI中文支持网
TI专业的中文技术问题咨询交流网站

关于C2000编译器.ebss : > RAML2 PAGE = 1 fill = 0x00不起作用与C6000编译器的区别,请指教!

各位大咖,我的程序不是特别大,28335核心,下载到flash里面,上电之后,全部搬运到ram里面吗,在cmd文件里面做了如下设置,.ebss   : > RAML2   PAGE = 1  fill = 0x00,发现上电后有很多未初始化变量不是0,而C6000的编译器,会全部清零,请问C2000如何保证做到上电之后,默认变量全部清零?谢谢。

Susan Yang:restart之后会将全局变量清零,但对于没有给初始值的变量,reset后会保持默认值。

各位大咖,我的程序不是特别大,28335核心,下载到flash里面,上电之后,全部搬运到ram里面吗,在cmd文件里面做了如下设置,.ebss   : > RAML2   PAGE = 1  fill = 0x00,发现上电后有很多未初始化变量不是0,而C6000的编译器,会全部清零,请问C2000如何保证做到上电之后,默认变量全部清零?谢谢。

user1667815:

回复 Susan Yang:

restart之后会将全局变量清零,这个全局变量是赋初值为0的变量吗?但对于没有给初始值的变量,reset后会保持默认值,默认值是随机的,是吗?那.ebss : > RAML2 PAGE = 1 fill = 0x00还有什么作用??

各位大咖,我的程序不是特别大,28335核心,下载到flash里面,上电之后,全部搬运到ram里面吗,在cmd文件里面做了如下设置,.ebss   : > RAML2   PAGE = 1  fill = 0x00,发现上电后有很多未初始化变量不是0,而C6000的编译器,会全部清零,请问C2000如何保证做到上电之后,默认变量全部清零?谢谢。

Susan Yang:

回复 user1667815:

没有初始化的变量,不会自动初始化为0,但您可以在定义变量的时候定义初始值

如果想在段中定义变量初始值为0, 就可以用以下方式

cmd:

.ebss: > RAML2PAGE = 1fill = 0x00

源文件中:

Uint32 test;

e2echina.ti.com/…/101473

各位大咖,我的程序不是特别大,28335核心,下载到flash里面,上电之后,全部搬运到ram里面吗,在cmd文件里面做了如下设置,.ebss   : > RAML2   PAGE = 1  fill = 0x00,发现上电后有很多未初始化变量不是0,而C6000的编译器,会全部清零,请问C2000如何保证做到上电之后,默认变量全部清零?谢谢。

user1667815:

回复 Susan Yang:

是,我的问题就是,用了这种方式,就是cmd文件这种方式,cmd: .ebss : > RAML2 PAGE = 1 fill = 0x00,仍然有一部分变量不会自动定义初始值为零,为什么呢?我这样做了,但是还有一部分是非零值

赞(0)
未经允许不得转载:TI中文支持网 » 关于C2000编译器.ebss : > RAML2 PAGE = 1 fill = 0x00不起作用与C6000编译器的区别,请指教!
分享到: 更多 (0)