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

编译出错28835 ccsV6

program will not fit into available memory. run placement withremark: automatic RTS selection: linking in "rts2800_fpu32.lib" in place of
alignment/blocking fails for section ".ebss" size 0xc7b0 page 1. Availablememory ranges:
index library "libc.a"
RAMM1 size: 0x400 unused: 0x200 max hole: 0x200

RAML4 size: 0x1000 unused: 0x1000 max hole: 0x1000 .ebss : > RAMM1|RAML4, PAGE = 1

调试过程中,定义了一个全局的数组之后就成这样了,请问该怎么解决??

10#:

用于存放你定义的“全局的数组”的.ebss的空间不够,需要调整.cmd文件中的相关配置。

program will not fit into available memory. run placement withremark: automatic RTS selection: linking in "rts2800_fpu32.lib" in place of
alignment/blocking fails for section ".ebss" size 0xc7b0 page 1. Availablememory ranges:
index library "libc.a"
RAMM1 size: 0x400 unused: 0x200 max hole: 0x200

RAML4 size: 0x1000 unused: 0x1000 max hole: 0x1000 .ebss : > RAMM1|RAML4, PAGE = 1

调试过程中,定义了一个全局的数组之后就成这样了,请问该怎么解决??

Rui Gao:

回复 10#:

您好~

确实是这样,那请问我要怎么修改呢,编译环境是ccsV6?

program will not fit into available memory. run placement withremark: automatic RTS selection: linking in "rts2800_fpu32.lib" in place of
alignment/blocking fails for section ".ebss" size 0xc7b0 page 1. Availablememory ranges:
index library "libc.a"
RAMM1 size: 0x400 unused: 0x200 max hole: 0x200

RAML4 size: 0x1000 unused: 0x1000 max hole: 0x1000 .ebss : > RAMM1|RAML4, PAGE = 1

调试过程中,定义了一个全局的数组之后就成这样了,请问该怎么解决??

10#:

回复 Rui Gao:

请将.ebss定义在连续的RAM区间,以使它能够hold住足够大的变量和数组,包括lib里的变量,上面的图片说明库文件需要0x7c0的大小,可你定义的.ebss对应的RAM的大小不是连续满足。

program will not fit into available memory. run placement withremark: automatic RTS selection: linking in "rts2800_fpu32.lib" in place of
alignment/blocking fails for section ".ebss" size 0xc7b0 page 1. Availablememory ranges:
index library "libc.a"
RAMM1 size: 0x400 unused: 0x200 max hole: 0x200

RAML4 size: 0x1000 unused: 0x1000 max hole: 0x1000 .ebss : > RAMM1|RAML4, PAGE = 1

调试过程中,定义了一个全局的数组之后就成这样了,请问该怎么解决??

Rui Gao:

回复 10#:

我能明白您的意思,不过我不知道该如何操作,能否说明一下,如何定义为连续的RAM区间?

谢谢您!

program will not fit into available memory. run placement withremark: automatic RTS selection: linking in "rts2800_fpu32.lib" in place of
alignment/blocking fails for section ".ebss" size 0xc7b0 page 1. Availablememory ranges:
index library "libc.a"
RAMM1 size: 0x400 unused: 0x200 max hole: 0x200

RAML4 size: 0x1000 unused: 0x1000 max hole: 0x1000 .ebss : > RAMM1|RAML4, PAGE = 1

调试过程中,定义了一个全局的数组之后就成这样了,请问该怎么解决??

10#:

回复 Rui Gao:

RAMM1 size: 0x400 unused: 0x200 max hole: 0x200

RAML4 size: 0x1000 unused: 0x1000 max hole: 0x1000 

0x400 + 0x200 = 0x600 与0x1000是不连续的。

在.cmd文件中定义RAMLx的时候,让其地址连续即可。

program will not fit into available memory. run placement withremark: automatic RTS selection: linking in "rts2800_fpu32.lib" in place of
alignment/blocking fails for section ".ebss" size 0xc7b0 page 1. Availablememory ranges:
index library "libc.a"
RAMM1 size: 0x400 unused: 0x200 max hole: 0x200

RAML4 size: 0x1000 unused: 0x1000 max hole: 0x1000 .ebss : > RAMM1|RAML4, PAGE = 1

调试过程中,定义了一个全局的数组之后就成这样了,请问该怎么解决??

Rui Gao:

回复 10#:

RAMM1      : origin = 0x000400, length = 0x000400

RAML4      : origin = 0x00C000, length = 0x001000

这个地址应该是编好的吧,不能随意修改吧?

program will not fit into available memory. run placement withremark: automatic RTS selection: linking in "rts2800_fpu32.lib" in place of
alignment/blocking fails for section ".ebss" size 0xc7b0 page 1. Availablememory ranges:
index library "libc.a"
RAMM1 size: 0x400 unused: 0x200 max hole: 0x200

RAML4 size: 0x1000 unused: 0x1000 max hole: 0x1000 .ebss : > RAMM1|RAML4, PAGE = 1

调试过程中,定义了一个全局的数组之后就成这样了,请问该怎么解决??

10#:

回复 Rui Gao:

当然可以随意修改,你可以把0x00C000开始的那一段随意分割或组合,比如:

RAMABC      : origin = 0x00C000, length = 0x00100

RAMDEF      : origin = 0x00C1000, length = 0x00500

RAMGHI      : origin = 0x00C600, length = 0x00A00

但是0x400在物理上与0xC000不是连续的,就不能放在一起。

具体的物理内存请查看数据手册的memory map.

赞(0)
未经允许不得转载:TI中文支持网 » 编译出错28835 ccsV6
分享到: 更多 (0)