我已经调试好了程序了,要写入FLASH , 调试中本身用的就是FLASH的CMD文件,现在要写入FLASH,但是断电后不运行,现在初步发现是,程序没有进入以下代码段:
void InitSysCtrl(void)
{
DisableDog();
#ifdef _FLASH
// Copy time critical code and Flash setup code to RAM. This includes the
// following functions: InitFlash()
// 仿真发现,没有进入此处 执行---------------------------
memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
InitFlash();
#endif
EALLOW;
GPIO_EnableUnbondedIOPullups();
CpuSysRegs.PCLKCR13.bit.ADC_A = 1;
CpuSysRegs.PCLKCR13.bit.ADC_B = 1;
CpuSysRegs.PCLKCR13.bit.ADC_D = 1;
if(*((Uint16 *)0x5D1B6) == 0x0000){
AnalogSubsysRegs.ANAREFTRIMA.all = 31709;
AnalogSubsysRegs.ANAREFTRIMB.all = 31709;
AnalogSubsysRegs.ANAREFTRIMD.all = 31709;
}
CpuSysRegs.PCLKCR13.bit.ADC_A = 0;
CpuSysRegs.PCLKCR13.bit.ADC_B = 0;
CpuSysRegs.PCLKCR13.bit.ADC_D = 0;
EDIS;
InitSysPll(XTAL_OSC,IMULT_12,FMULT_0,PLLCLK_BY_4); // pllsysclk = 120 M hz
InitPeripheralClocks();
}
个人判断是 _FLASH 没有宏定义,但在 Project->Properties->Predefined Symbols 中有定义且我已把它上移到了第一行,但还是不行,不知为什么?还是我整个操作都不对?请各路高手帮帮忙,在此感激不尽!