STM32/STM8技术william hill官网
直播中

张倩

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

STM32F051不能正常跳转到APP

今天终于把YMODE升级协议给写好了,用的是串口的IDLE中断,测试通过,能完整的接收到YMODE上位机发送的数据,然后写入到外部FLASH中,校验无误后再写入到内部FLASH中,最后是跳转到应用程序,但是我发现在跳转的时候卡死了,也无法跟踪调试找不到问题出现的原因,只能用对比现象来排查问题。于是将之前的仅支持跳转程序下载进去,发现能正常跳转到APP,说明程序已经升级好了。于是乎逐行代码排查,终于发现了一个重要的线索,在仅跳转的IAP代码中没有开启IDLE中断,抱着试试看的态度将此句屏蔽,结果出乎意料,成功跳转到应用程序了。现在虽然找到原因,但是如果不能用IDLE中断接收YMODE协议数据就要从新改写底层驱动了,有没有大神能支招?

回帖(6)

陈炜

2018-11-28 09:12:20
你在跳转之前把在IAP里开启的中断关闭掉不就行了吗?让他们恢复默认值。
举报

张倩

2018-11-28 09:32:19
引用: huazhe 发表于 2018-11-28 13:17
你在跳转之前把在IAP里开启的中断关闭掉不就行了吗?让他们恢复默认值。

多谢多谢。当时脑子短路了,晚上回去想到了。。。。,但是这个问题能彻底解决更好,为什么其他中断不会影响跳转,这个中断影响这么大呢?
举报

陈炜

2018-11-28 09:46:02
你跳转之前把IAP开启过的中断都复位掉 就能彻底解决的。

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

张倩

2018-11-28 09:59:44
引用: huazhe 发表于 2018-11-28 13:51
你跳转之前把IAP开启过的中断都复位掉 就能彻底解决的。

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

有点思路了
举报

张倩

2018-11-28 10:06:05
引用: huazhe 发表于 2018-11-28 13:51
你跳转之前把IAP开启过的中断都复位掉 就能彻底解决的。

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

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

良子一统天下

2019-5-30 16:55:53
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

更多回帖

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