This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
各位专家好:
我在我的工程文件中加入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
请问这是什么原因
DSP28xxx_SectionCopy_nonBIOS.asm这个文件是你自己写的吗,还是哪里下载的?我印象里TI没有提供这个文件。
它这里的意思是你定义了这个变量,但是没有给它指定对应的内存用于存放它,所以找不到。其实后面其它所有的也有一样的问题,只是报错只针对第一个而已。
你应该在cmd文件里将这些变量映射到某一个section里才可以。
你参考的可能并不适合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