配置好主程序的CMD文件,才能将FLASH成功烧录,并且将FLASH中的文件拷贝到RAM中运行。关于CMD文件的配置:
首先在F2812.CMD文件中,可以看到有关于加载FLASH到RAM的内容:
ramfuncs : LOAD = FLASHD,
RUN = RAML0,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
PAGE = 0
以及在C文件中调用FLASH 到RAM的函数memcpy,将它放在系统初始化(InitSystem();)之后运行。
InitSystem();
memcpy(&RamfuncsRunStart,
&RamfuncsLoadStart,
&RamfuncsLoadEnd - &RamfuncsLoadStart);
Initflash();
关于ramfuncs,则在系统初始化中定义即可。如:sysctrl.c中
#pragma CODE_SECTION(InitFlash, "ramfuncs")。 |