STM32
直播中

康瑜玲

7年用户 159经验值
私信 关注
[问答]

IAP升级程序串口传入数据无法重启,按重启键也不管用的原因是什么?

             做一个小设计,上位机通过串口把.bin文件传到外部flash IAP升级程序把外部的flash数据通过SPI线 拷贝到 内部flash,然后重启,跳转到映射向量表。开始执行新的程序。 问题是:分着操作没问题。1、片外的flash程序拷贝的片内flash重启执行新的程序成功(提前写了一个小程序 把片内写到片外,用以保证外部flash有可运行升级程序(模拟从串口写入))。2、外部串口传入到片外的flash成功,拷贝到内部也成功。出现的问题:通过串口把上位机程序拷贝的片外flash之后紧接着执行软件重启。重启出现了问题,程序死了,试了几乎所有的重启方式,看门狗也用了,就是死了。按重启键也不行。真是郁闷 好几天了啊!! 望大神指点!!小弟拜谢。!!

回帖(3)

吕聪

2020-8-4 09:43:55
检查你的拷贝是否正常了?
就是有没有把正确的数据拷贝到外部flash。
举报

史晓明

2020-8-4 09:49:06
估计是这个事:
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
main里没加 这句!
举报

刘溪

2020-8-4 09:57:46
楼上这么精确?呵呵.
楼主可以看看.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分