我用的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,去掉试试