Initflash()这个函数的作用是什么?为什么有的例程上的flash烧写例程里并没有这个函数,但仍可以烧写正常运行呢?
下面是这个函数:
void InitFlash(void)
{
EALLOW;
FlashRegs.FPWR.bit.PWR = 3; //设置Flash为正常工作状态
FlashRegs.FBANKWAIT.bit.RANDWAIT = 5;//设置随机存取等待时间
FlashRegs.FBANKWAIT.bit.PAGEWAIT = 5;//设置页面存取等待时间
FlashRegs.FSTDBYWAIT.bit.STDBYWAIT = 0x01FF; //设置从睡眠到等待的转换时间
FlashRegs.FACTIVEWAIT.bit.ACTIVEWAIT = 0x01FF; //设置从等待到激活的转换时间
FlashRegs.FOPT.bit.ENPIPE = 1; //使能流水线模式
EDIS;
asm(" RPT #7 || NOP");//软件延时,等待流水线刷新
}
这个函数是放在系统初始化后,memcopy()之后。 |