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

F2812的.text代码段太长,CMD配置怎么修改

我用的CCS3.3,芯片F2812

问题描述:

目前map中.text代码段超过8K了,编译报错,在网上查资料得知,2812有2个不连续的8K的RAM_L0L1和RAM_H0空间,需要对.text进行拆分处理,分别映射到RAM_L0L1和RAM_H0。进行了如下处理,还不是不行,本人菜鸟,还请各位大侠们指教。

1..text没超过8K时,CMD的.text代码是这样的,运行没有问题,从Flash加载,从RAM_L0L运行

.text  :  LOAD = FLASH_AB, PAGE=0RUN  = RSM_L0L1, PAGE=0LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)

2. 

.text  :  LOAD = FLASH_AB, PAGE=0
{*(text)}>>RAM_H0 | RAM_L0L1,PAGE=0
LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)
报如下错误
 





























去掉LOAD = FLASH_AB, PAGE=0报如下警告,且map中.text没有分成.text1和.text2
 
如果只写
 {*(text)}>>RAM_H0 | RAM_L0L1,PAGE=0则如下错误
 
3. 写成如下,报如下图错误
.text  :  LOAD = FLASH_AB, PAGE=0
RUN=RAM_H0 | RAM_L0L1,PAGE=0
LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)
 
 4.写成如下,编译时通过了,.map中.text中也确实分成.text1和.text2,但刷完程序后报如下黄色标识警告
.text1 : {Debug/main.obj(.text) }>RAM_L0L1,PAGE=0
LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)
.text2 : {*(.text)}>RAM_H0,PAGE=0
LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)

Warning: This program contains initialized RAM data. 

It may run successfully under Code Composer Studio 

but not as a standalone system because of this. If 

your Flash program requires initialized data in RAM, 

you will need to write Flash code to initialize RAM memory.

 

rookiecalf:

没有必要把所有的代码都搬移到ram,只需要把关键代码搬移到ram即可

我用的CCS3.3,芯片F2812

问题描述:

目前map中.text代码段超过8K了,编译报错,在网上查资料得知,2812有2个不连续的8K的RAM_L0L1和RAM_H0空间,需要对.text进行拆分处理,分别映射到RAM_L0L1和RAM_H0。进行了如下处理,还不是不行,本人菜鸟,还请各位大侠们指教。

1..text没超过8K时,CMD的.text代码是这样的,运行没有问题,从Flash加载,从RAM_L0L运行

.text  :  LOAD = FLASH_AB, PAGE=0RUN  = RSM_L0L1, PAGE=0LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)

2. 

.text  :  LOAD = FLASH_AB, PAGE=0
{*(text)}>>RAM_H0 | RAM_L0L1,PAGE=0
LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)
报如下错误
 





























去掉LOAD = FLASH_AB, PAGE=0报如下警告,且map中.text没有分成.text1和.text2
 
如果只写
 {*(text)}>>RAM_H0 | RAM_L0L1,PAGE=0则如下错误
 
3. 写成如下,报如下图错误
.text  :  LOAD = FLASH_AB, PAGE=0
RUN=RAM_H0 | RAM_L0L1,PAGE=0
LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)
 
 4.写成如下,编译时通过了,.map中.text中也确实分成.text1和.text2,但刷完程序后报如下黄色标识警告
.text1 : {Debug/main.obj(.text) }>RAM_L0L1,PAGE=0
LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)
.text2 : {*(.text)}>RAM_H0,PAGE=0
LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)

Warning: This program contains initialized RAM data. 

It may run successfully under Code Composer Studio 

but not as a standalone system because of this. If 

your Flash program requires initialized data in RAM, 

you will need to write Flash code to initialize RAM memory.

 

RenLiang Liu:

回复 rookiecalf:

如果想把所有代码都搬到RAM需要怎样处理呢,还有下面这两条为什么不能同时存在,会报错,请指教

.text  :  LOAD = FLASH_AB, PAGE=0

RUN=RAM_H0 | RAM_L0L1,PAGE=0

我用的CCS3.3,芯片F2812

问题描述:

目前map中.text代码段超过8K了,编译报错,在网上查资料得知,2812有2个不连续的8K的RAM_L0L1和RAM_H0空间,需要对.text进行拆分处理,分别映射到RAM_L0L1和RAM_H0。进行了如下处理,还不是不行,本人菜鸟,还请各位大侠们指教。

1..text没超过8K时,CMD的.text代码是这样的,运行没有问题,从Flash加载,从RAM_L0L运行

.text  :  LOAD = FLASH_AB, PAGE=0RUN  = RSM_L0L1, PAGE=0LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)

2. 

.text  :  LOAD = FLASH_AB, PAGE=0
{*(text)}>>RAM_H0 | RAM_L0L1,PAGE=0
LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)
报如下错误
 





























去掉LOAD = FLASH_AB, PAGE=0报如下警告,且map中.text没有分成.text1和.text2
 
如果只写
 {*(text)}>>RAM_H0 | RAM_L0L1,PAGE=0则如下错误
 
3. 写成如下,报如下图错误
.text  :  LOAD = FLASH_AB, PAGE=0
RUN=RAM_H0 | RAM_L0L1,PAGE=0
LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)
 
 4.写成如下,编译时通过了,.map中.text中也确实分成.text1和.text2,但刷完程序后报如下黄色标识警告
.text1 : {Debug/main.obj(.text) }>RAM_L0L1,PAGE=0
LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)
.text2 : {*(.text)}>RAM_H0,PAGE=0
LOAD_START(_text_loadstart),RUN_START(_text_runstart),SIZE_START(_text_size)

Warning: This program contains initialized RAM data. 

It may run successfully under Code Composer Studio 

but not as a standalone system because of this. If 

your Flash program requires initialized data in RAM, 

you will need to write Flash code to initialize RAM memory.

 

rookiecalf:

回复 RenLiang Liu:

把前面多的那个PAGE=0,去掉试试

赞(0)
未经允许不得转载:TI中文支持网 » F2812的.text代码段太长,CMD配置怎么修改
分享到: 更多 (0)