各位专家好:
我在我的工程文件中加入DSP28xxx_SectionCopy_nonBIOS.asm开始报错,打开DSP28xxx_SectionCopy_nonBIOS.asm开始定义了全局变量
.global _cinit_loadstart, _cinit_runstart, _cinit_size
.global _const_loadstart, _const_runstart, _const_size
.global _econst_loadstart, _econst_runstart, _econst_size
.global _pinit_loadstart, _pinit_runstart, _pinit_size
.global _switch_loadstart, _switch_runstart, _switch_size
.global _text_loadstart, _text_runstart, _text_size
.bss VarA,1
下面copysections函数中调用这些全局变量
MOVL XAR5,#_cinit_size ; Store Section Size in XAR5
;SUBB XAR5,#1 ; Subtract 1 in prep. for RPT instruction
MOVL ACC,@XAR5 ; Move Section Size to ACC
MOVL XAR6,#_cinit_loadstart ; Store Load Starting Address in XAR6
MOVL XAR7,#_cinit_runstart ; Store Run Address in XAR7
LCR copy
就开始报错
unresolved symbol _cinit_size, first referenced in ./DSP28xxx_SectionCopy_nonBIOS.obj test C/C++ Problem
请问这是什么原因
10#:
DSP28xxx_SectionCopy_nonBIOS.asm这个文件是你自己写的吗,还是哪里下载的?我印象里TI没有提供这个文件。
它这里的意思是你定义了这个变量,但是没有给它指定对应的内存用于存放它,所以找不到。其实后面其它所有的也有一样的问题,只是报错只针对第一个而已。
你应该在cmd文件里将这些变量映射到某一个section里才可以。
各位专家好:
我在我的工程文件中加入DSP28xxx_SectionCopy_nonBIOS.asm开始报错,打开DSP28xxx_SectionCopy_nonBIOS.asm开始定义了全局变量
.global _cinit_loadstart, _cinit_runstart, _cinit_size
.global _const_loadstart, _const_runstart, _const_size
.global _econst_loadstart, _econst_runstart, _econst_size
.global _pinit_loadstart, _pinit_runstart, _pinit_size
.global _switch_loadstart, _switch_runstart, _switch_size
.global _text_loadstart, _text_runstart, _text_size
.bss VarA,1
下面copysections函数中调用这些全局变量
MOVL XAR5,#_cinit_size ; Store Section Size in XAR5
;SUBB XAR5,#1 ; Subtract 1 in prep. for RPT instruction
MOVL ACC,@XAR5 ; Move Section Size to ACC
MOVL XAR6,#_cinit_loadstart ; Store Load Starting Address in XAR6
MOVL XAR7,#_cinit_runstart ; Store Run Address in XAR7
LCR copy
就开始报错
unresolved symbol _cinit_size, first referenced in ./DSP28xxx_SectionCopy_nonBIOS.obj test C/C++ Problem
请问这是什么原因
mangui zhang:
你参考的可能并不适合28377
memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
ramfuncs : LOAD = FLASHD, RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3, LOAD_START(_RamfuncsLoadStart), LOAD_SIZE(_RamfuncsLoadSize), LOAD_END(_RamfuncsLoadEnd), RUN_START(_RamfuncsRunStart), RUN_SIZE(_RamfuncsRunSize), RUN_END(_RamfuncsRunEnd), PAGE = 0