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.
在使用control suite官方的例程时看到这几个函数:
LOAD_START(_Flash28_API_LoadStart),
LOAD_END(_Flash28_API_LoadEnd),
RUN_START(_Flash28_API_RunStart),但是在工程中我并未发现,这几个函数的定义和声明,想请教一下这几个函数的定义和声明是在库中包含的吗?
还有Flash28_API_LoadStart;Flash28_API_LoadEnd;Flash28_API_RunStart;
RamfuncsLoadStart;
RamfuncsLoadEnd;
RamfuncsRunStart;
这六个变量只有声明并没有发现具体的地址赋值,请问这些赋值在什么地方?
tanson,
在cmd文件中,对于一些加载在flash,运行在RAM中的段有这样的语法,
ramfuncs : LOAD = FLASHD,
RUN = RAML0,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
PAGE = 0
这上面就有这3个变量RamfuncsLoadStart; RamfuncsLoadEnd; RamfuncsRunStart;,这3个变量就是在CMD用这样的语法定义和赋值。
同理还有Flash28_API_LoadStart;Flash28_API_LoadEnd;Flash28_API_RunStart;
在cmd中只是实现这些变量的定义,然后在main函数中要对这些外部变量进行声明,可以在main函数上方看到。然后这些变量主要是用在memcpy函数中。
Eric
tanson,
首先ramfun段里面会包含一些函数,ramfuncsloadstart是指这个段加载在flashD中的开始的地址。ramfuncsrunstart是编译器给这部分代码分配的开始运行的地址,并非是首地址,确是这部分代码开始的地址。
Eric