单片机学习小组
直播中

张昂笙

8年用户 1019经验值
私信 关注

为什么STM32单片机IAP不能连续刷固件呢

IAP模式不容易进入,跟上位机通讯计数很慢,IAP不能连续刷固件,IAP刷入固件时间较长。请问一下为什么会出现这些情况?如何去解决?

回帖(1)

龚旻

2022-2-18 10:26:06
原因:IAP不容易进入和不能连续IAP的问题是因为加速度计初始化放在了串口初始化之后,而加速度计初始化需要一点时间,在连续IAP的时候,刚更新完,单片机正在重启,串口初始化刚完成,上位机跟它通信,刚开始接受上位机发来的字节,然后就开始了加速度计初始化,就导致串口接受异常,不能在正常接收,所以IAP不容易进入和不能连续IAP。通讯计数慢和下载时间过长是因为,加速度计读取时间比较长,拖慢整个IAP时间。

解决办法:不容易进入和不能连续IAP的问题,只需要调整外设初始化顺序即可,将串口初始化放在加速度计初始化之后。第二个下载时间长的问题,在加速度计读取函数最上方加入IAP模式判断,检测到正在IAP的时候,就return即可解决,下载时间大大缩减。
举报

更多回帖

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