LM3S6911中的FALSH程序会丢失,我已经发现有好几次了。
Flash内容丢失往往发生在MCU电源不稳,或者超过MCU specs定义的电压范围。BOR是用来检测MCU供电电压,当电压低于设定的阀值时触发中断或者RESET,这样就可以让MCU及时知道电压的变化并及时响应,或者直接RESET。
示波器看电压启动波形是很正常的,从0-3.3V上升曲线很好,3.3V也很稳定。上电写FLASH是比须的,我的想法是否可以加个延时启动,10ms或者更长一点?另外把BOR也打开?
楼上的各位专家已经解答了,我在启动时加了BOR代码,目前没发现问题。
int main(void)
{
/* 打开BOR */
SysCtlBrownOutConfigSet(SYSCTL_BOR_RESET, 0);
/* 延时0.1秒 */
SysCtlDelay(SysCtlClockGet() / 10 );
。。。。。
}