STM32F051不能正常跳转到APP

2019-07-14 15:39发布

今天终于把YMODE升级协议给写好了,用的是串口的IDLE中断,测试通过,能完整的接收到YMODE上位机发送的数据,然后写入到外部FLASH中,校验无误后再写入到内部FLASH中,最后是跳转到应用程序,但是我发现在跳转的时候卡死了,也无法跟踪调试找不到问题出现的原因,只能用对比现象来排查问题。于是将之前的仅支持跳转程序下载进去,发现能正常跳转到APP,说明程序已经升级好了。于是乎逐行代码排查,终于发现了一个重要的线索,在仅跳转的IAP代码中没有开启IDLE中断,抱着试试看的态度将此句屏蔽,结果出乎意料,成功跳转到应用程序了。现在虽然找到原因,但是如果不能用IDLE中断接收YMODE协议数据就要从新改写底层驱动了,有没有大神能支招?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
5616asaqwq
1楼-- · 2019-07-14 18:31
 精彩回答 2  元偷偷看……
huazhe
2楼-- · 2019-07-15 00:26
你跳转之前把IAP开启过的中断都复位掉 就能彻底解决的。

不是其它中断不影响,如果在跳转半途中发生了中断或者跳转到新环境后还产生了IAP里配置的中断都可能有问题。
5616asaqwq
3楼-- · 2019-07-15 04:06
huazhe 发表于 2018-11-28 13:51
你跳转之前把IAP开启过的中断都复位掉 就能彻底解决的。

不是其它中断不影响,如果在跳转半途中发生了中断或者跳转到新环境后还产生了IAP里配置的中断都可能有问题。

有点思路了
5616asaqwq
4楼-- · 2019-07-15 09:09
huazhe 发表于 2018-11-28 13:51
你跳转之前把IAP开启过的中断都复位掉 就能彻底解决的。

不是其它中断不影响,如果在跳转半途中发生了中断或者跳转到新环境后还产生了IAP里配置的中断都可能有问题。

我试过把中断全部复位禁能都是不行的,只要置位IDLEIE位就跳不过去,这个应该是BUG吧

一周热门 更多>