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

CCS6 为什么CMD文件中分配了page程序却不用呢,总是提示空间不够

我在程序中定义了8个长度为200的数组,build的时候会提示空间不足呢?

错误代码如下:

warning #10210-D: creating ".stack" section with default size of 0x400; use the
-stack option to change the default size
"C:/ti/controlSUITE/device_support/F2837xD/v110/F2837xD_common/cmd/2837x_RAM_lnk_cpu1.cmd", line 61: error #10099-D: program will not fit into available memory. run placement with
alignment/blocking fails for section ".ebss" size 0x159c page 1. Available
memory ranges:
RAMLS5 size: 0x800 unused: 0x7f7 max hole: 0x7f7
RAMGS7 size: 0x1000 unused: 0x1000 max hole: 0x1000
RAMGS8 size: 0x1000 unused: 0x1000 max hole: 0x1000error #10010: errors encountered during linking; "adc_epwm_cpu01.out" not
built

求大神指点!

Hank Zhao:

在CMD文件中将".ebss"段分配的内存空间改大一点。

我在程序中定义了8个长度为200的数组,build的时候会提示空间不足呢?

错误代码如下:

warning #10210-D: creating ".stack" section with default size of 0x400; use the
-stack option to change the default size
"C:/ti/controlSUITE/device_support/F2837xD/v110/F2837xD_common/cmd/2837x_RAM_lnk_cpu1.cmd", line 61: error #10099-D: program will not fit into available memory. run placement with
alignment/blocking fails for section ".ebss" size 0x159c page 1. Available
memory ranges:
RAMLS5 size: 0x800 unused: 0x7f7 max hole: 0x7f7
RAMGS7 size: 0x1000 unused: 0x1000 max hole: 0x1000
RAMGS8 size: 0x1000 unused: 0x1000 max hole: 0x1000error #10010: errors encountered during linking; "adc_epwm_cpu01.out" not
built

求大神指点!

BIN YAO1:

你的.ebss是映射到哪一段的空间呢,CCS不会跨段的

我在程序中定义了8个长度为200的数组,build的时候会提示空间不足呢?

错误代码如下:

warning #10210-D: creating ".stack" section with default size of 0x400; use the
-stack option to change the default size
"C:/ti/controlSUITE/device_support/F2837xD/v110/F2837xD_common/cmd/2837x_RAM_lnk_cpu1.cmd", line 61: error #10099-D: program will not fit into available memory. run placement with
alignment/blocking fails for section ".ebss" size 0x159c page 1. Available
memory ranges:
RAMLS5 size: 0x800 unused: 0x7f7 max hole: 0x7f7
RAMGS7 size: 0x1000 unused: 0x1000 max hole: 0x1000
RAMGS8 size: 0x1000 unused: 0x1000 max hole: 0x1000error #10010: errors encountered during linking; "adc_epwm_cpu01.out" not
built

求大神指点!

guodong cao:

回复 Hank Zhao:

hank zhao,谢谢!

我的分配情况是这样的

.ebss : >>  RAMLS5 | RAMGS7 | RAMGS8, PAGE = 1 .econst : >> RAMLS5 | RAMGS7 | RAMGS8, PAGE = 1 .esysmem : >> RAMLS5 | RAMGS7 | RAMGS8, PAGE = 1

但是在map文件中显示这三段都是 notused 疑惑/

不知这是什么原因啊

我在程序中定义了8个长度为200的数组,build的时候会提示空间不足呢?

错误代码如下:

warning #10210-D: creating ".stack" section with default size of 0x400; use the
-stack option to change the default size
"C:/ti/controlSUITE/device_support/F2837xD/v110/F2837xD_common/cmd/2837x_RAM_lnk_cpu1.cmd", line 61: error #10099-D: program will not fit into available memory. run placement with
alignment/blocking fails for section ".ebss" size 0x159c page 1. Available
memory ranges:
RAMLS5 size: 0x800 unused: 0x7f7 max hole: 0x7f7
RAMGS7 size: 0x1000 unused: 0x1000 max hole: 0x1000
RAMGS8 size: 0x1000 unused: 0x1000 max hole: 0x1000error #10010: errors encountered during linking; "adc_epwm_cpu01.out" not
built

求大神指点!

guodong cao:

回复 BIN YAO1:

BIN YAO 你好

我的映射情况是这样的,但是在map文件中显示 这三块都是 notused,求解答啊,谢谢! .ebss : >> RAMLS5 | RAMGS7 | RAMGS8, PAGE = 1 .econst : >> RAMLS5 | RAMGS7 | RAMGS8, PAGE = 1 .esysmem : >> RAMLS5 | RAMGS7 | RAMGS8, PAGE = 1

我在程序中定义了8个长度为200的数组,build的时候会提示空间不足呢?

错误代码如下:

warning #10210-D: creating ".stack" section with default size of 0x400; use the
-stack option to change the default size
"C:/ti/controlSUITE/device_support/F2837xD/v110/F2837xD_common/cmd/2837x_RAM_lnk_cpu1.cmd", line 61: error #10099-D: program will not fit into available memory. run placement with
alignment/blocking fails for section ".ebss" size 0x159c page 1. Available
memory ranges:
RAMLS5 size: 0x800 unused: 0x7f7 max hole: 0x7f7
RAMGS7 size: 0x1000 unused: 0x1000 max hole: 0x1000
RAMGS8 size: 0x1000 unused: 0x1000 max hole: 0x1000error #10010: errors encountered during linking; "adc_epwm_cpu01.out" not
built

求大神指点!

Hank Zhao:

回复 guodong cao:

RAMLS5 , RAMGS7 ,RAMGS8这三段的地址是不是连续的,如果不是连续的地址的的话就不能这样写,也就是楼上所说的CCS不能跨段。

我在程序中定义了8个长度为200的数组,build的时候会提示空间不足呢?

错误代码如下:

warning #10210-D: creating ".stack" section with default size of 0x400; use the
-stack option to change the default size
"C:/ti/controlSUITE/device_support/F2837xD/v110/F2837xD_common/cmd/2837x_RAM_lnk_cpu1.cmd", line 61: error #10099-D: program will not fit into available memory. run placement with
alignment/blocking fails for section ".ebss" size 0x159c page 1. Available
memory ranges:
RAMLS5 size: 0x800 unused: 0x7f7 max hole: 0x7f7
RAMGS7 size: 0x1000 unused: 0x1000 max hole: 0x1000
RAMGS8 size: 0x1000 unused: 0x1000 max hole: 0x1000error #10010: errors encountered during linking; "adc_epwm_cpu01.out" not
built

求大神指点!

BIN YAO1:

回复 guodong cao:

RAMLS5、RAMGS7和RAMGS8是三个段,不管地址是否连续,CCS都会认为其是3个不同的段,因此>>a|b这样的写法是不可以的。

你可以在声明段的时候把这三个段变成一段,然后再把.ebss、.econst、.esysmem映射到该段就行

我在程序中定义了8个长度为200的数组,build的时候会提示空间不足呢?

错误代码如下:

warning #10210-D: creating ".stack" section with default size of 0x400; use the
-stack option to change the default size
"C:/ti/controlSUITE/device_support/F2837xD/v110/F2837xD_common/cmd/2837x_RAM_lnk_cpu1.cmd", line 61: error #10099-D: program will not fit into available memory. run placement with
alignment/blocking fails for section ".ebss" size 0x159c page 1. Available
memory ranges:
RAMLS5 size: 0x800 unused: 0x7f7 max hole: 0x7f7
RAMGS7 size: 0x1000 unused: 0x1000 max hole: 0x1000
RAMGS8 size: 0x1000 unused: 0x1000 max hole: 0x1000error #10010: errors encountered during linking; "adc_epwm_cpu01.out" not
built

求大神指点!

guodong cao:

回复 Hank Zhao:

hank zhao 谢谢!

原来是这样,涨姿势了,不过我现在又发现一个问题,我给ccs里面.text分配了空间之后,ccs却没有使用,必须加上一个RAMGS类型的空间build才不会报错

我的CMD文件里面这一行是这样的

 .text            : >>RAMM0 | RAMD0 | RAMLS0 | RAMLS1 | RAMLS2 | RAMLS3 | RAMLS4 | RAMLS5 | RAMGS15  ,   PAGE = 0

但是,map文件里面使用情况却是这样的:

MEMORY CONFIGURATION

name   origin   length   used   unused   attr   fill———————- ——– ——— ——– ——– —- ——–PAGE 0: BEGIN 00000000 00000002 00000002 00000000 RWIX RAMM0 00000122 000002de 000002d7 00000007 RWIX RAMLS0 00008000 00000800 0000072b 000000d5 RWIX RAMLS1 00008800 00000800 00000000 00000800 RWIX RAMLS2 00009000 00000800 00000000 00000800 RWIX RAMLS3 00009800 00000800 00000000 00000800 RWIX RAMLS4 0000a000 00000800 00000000 00000800 RWIX RAMLS5 0000a800 00000800 00000000 00000800 RWIX RAMD0 0000b000 00000800 000007ff 00000001 RWIX RAMGS15 0001b000 00001000 00000a46 000005ba RWIX

可以看到RAMLS1~RAMLS5全都没有使用啊,而且要是我不加上RAMGS15的话,就提示空间不够了,我已经把RAMGS15放在page0里面去了

求解答啊!

我在程序中定义了8个长度为200的数组,build的时候会提示空间不足呢?

错误代码如下:

warning #10210-D: creating ".stack" section with default size of 0x400; use the
-stack option to change the default size
"C:/ti/controlSUITE/device_support/F2837xD/v110/F2837xD_common/cmd/2837x_RAM_lnk_cpu1.cmd", line 61: error #10099-D: program will not fit into available memory. run placement with
alignment/blocking fails for section ".ebss" size 0x159c page 1. Available
memory ranges:
RAMLS5 size: 0x800 unused: 0x7f7 max hole: 0x7f7
RAMGS7 size: 0x1000 unused: 0x1000 max hole: 0x1000
RAMGS8 size: 0x1000 unused: 0x1000 max hole: 0x1000error #10010: errors encountered during linking; "adc_epwm_cpu01.out" not
built

求大神指点!

guodong cao:

回复 BIN YAO1:

BIN YAO1 谢谢你!

原来是这样,涨姿势了,不过我现在又发现一个问题,我给ccs里面.text分配了空间之后,ccs却没有使用,必须加上一个RAMGS类型的空间build才不会报错

我的CMD文件里面这一行是这样的

 .text            : >>RAMM0 | RAMD0 | RAMLS0 | RAMLS1 | RAMLS2 | RAMLS3 | RAMLS4 | RAMLS5 | RAMGS15  ,   PAGE = 0

但是,map文件里面使用情况却是这样的:

MEMORY CONFIGURATION

name   origin   length   used   unused   attr   fill———————- ——– ——— ——– ——– —- ——–PAGE 0:BEGIN 00000000 00000002 00000002 00000000 RWIXRAMM0 00000122 000002de 000002d7 00000007 RWIXRAMLS0 00008000 00000800 0000072b 000000d5 RWIXRAMLS1 00008800 00000800 00000000 00000800 RWIXRAMLS2 00009000 00000800 00000000 00000800 RWIXRAMLS3 00009800 00000800 00000000 00000800 RWIXRAMLS4 0000a000 00000800 00000000 00000800 RWIXRAMLS5 0000a800 00000800 00000000 00000800 RWIXRAMD0 0000b000 00000800 000007ff 00000001 RWIXRAMGS15 0001b000 00001000 00000a46 000005ba RWIX

可以看到RAMLS1~RAMLS5全都没有使用啊,而且要是我不加上RAMGS15的话,就提示空间不够了,我已经把RAMGS15放在page0里面去了

求解答啊!

我在程序中定义了8个长度为200的数组,build的时候会提示空间不足呢?

错误代码如下:

warning #10210-D: creating ".stack" section with default size of 0x400; use the
-stack option to change the default size
"C:/ti/controlSUITE/device_support/F2837xD/v110/F2837xD_common/cmd/2837x_RAM_lnk_cpu1.cmd", line 61: error #10099-D: program will not fit into available memory. run placement with
alignment/blocking fails for section ".ebss" size 0x159c page 1. Available
memory ranges:
RAMLS5 size: 0x800 unused: 0x7f7 max hole: 0x7f7
RAMGS7 size: 0x1000 unused: 0x1000 max hole: 0x1000
RAMGS8 size: 0x1000 unused: 0x1000 max hole: 0x1000error #10010: errors encountered during linking; "adc_epwm_cpu01.out" not
built

求大神指点!

Hank Zhao:

回复 guodong cao:

将text分配的段改为 .text            : >> RAMD0 | RAMLS0 | RAMLS1 | RAMLS2 | RAMLS3 | RAMLS4 | RAMLS5,   PAGE = 0  ,不要把不连续的内存空间用这个符号连在一起。

赞(0)
未经允许不得转载:TI中文支持网 » CCS6 为什么CMD文件中分配了page程序却不用呢,总是提示空间不够
分享到: 更多 (0)