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

.ebss段信息存放哪里

我们知道.ebss只是预先为全局变量或静态变量预留空间,然后在程序开始前会对其进行初始化,我想知道的是.ebss预留空间的信息存放在DSP的哪里,比如我为.ebss预留了0x1000的空间,DSP是把这个预留空间的相关信息保存在哪里,上电后它怎么知道当前要为全局变量或静态变量留出0x1000的空间?

Hank Zhao:

你可以在CMD文件中为ebss段分配指定的地址空间,比如RAML1或者RAML2。CCS在编译时会在该地址空间为其分配所需要大小的存储区域。如果该地址空间不足以分配其需求,CCS就会报错,如果有富余,那么它只占用它所需要的空间。

我们知道.ebss只是预先为全局变量或静态变量预留空间,然后在程序开始前会对其进行初始化,我想知道的是.ebss预留空间的信息存放在DSP的哪里,比如我为.ebss预留了0x1000的空间,DSP是把这个预留空间的相关信息保存在哪里,上电后它怎么知道当前要为全局变量或静态变量留出0x1000的空间?

pevin zheng:

回复 Hank Zhao:

我的意思是DSP在哪里记录.ebss分配的空间大小。

如cinit段,我们通常将其分配在某段FLASH,DSP上电运行时就会从该段FLASH中读出cinit段的内容并对相关变量进行初始化。

但.ebss我们只是给它分配了要预留的RAM空间大小,这个预留的空间大小信息DSP是存储在哪里?

我们知道.ebss只是预先为全局变量或静态变量预留空间,然后在程序开始前会对其进行初始化,我想知道的是.ebss预留空间的信息存放在DSP的哪里,比如我为.ebss预留了0x1000的空间,DSP是把这个预留空间的相关信息保存在哪里,上电后它怎么知道当前要为全局变量或静态变量留出0x1000的空间?

Hank Zhao:

回复 pevin zheng:

在编译后生成的.map文件中记录有为各个section分配的起始地址和地址范围的信息。

我们知道.ebss只是预先为全局变量或静态变量预留空间,然后在程序开始前会对其进行初始化,我想知道的是.ebss预留空间的信息存放在DSP的哪里,比如我为.ebss预留了0x1000的空间,DSP是把这个预留空间的相关信息保存在哪里,上电后它怎么知道当前要为全局变量或静态变量留出0x1000的空间?

yi li16:

回复 Hank Zhao:

CMD文件里.ebss只能放在RAM里面吗?可以放在外扩RAM里面吗?

赞(0)
未经允许不得转载:TI中文支持网 » .ebss段信息存放哪里
分享到: 更多 (0)