在每次单片机启动时,放在0000H位置的LJMP指令不是跳转到用户程序,而是直接跳转到了升级程序(60K开始的位置),这里升级程序初始化串口,等待串口发来的数据流,如果数据流的不正确或者没有收到数据流,就跳转回用户键此程序的入口执行用户上次下载进去的程序。
所以在这里用户的程序不能超过60K,当然升级程序也不会“自宫”,就没什么影响了。
时间长了,具体的过程记不清了,只能给你个参考:单片机上电后,在特凯族定时间内,会等待一组特定数据,如果收到这组数据就进入IAP,并且锁定当前波特率。这组数据网上应该是有燃慎的,我们当初也是盯段弊网上找的。
进入IAP后,就是FLASH的读、写、擦除 *** 作了,和普通FLASH没什么区别, *** 作完毕断电即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)