[AT32F415] iap 卡死

[复制链接]
 楼主| sanxinhuang 发表于 2021-6-10 11:08 | 显示全部楼层 |阅读模式
IAP编译下载之后串口发送APP程序,IAP把app写入芯片flash,写完跳转到app执行直接死机。但我把app编译下载到芯片,再次用IAP跳转过去就可以执行,之后再用串口发送app,IAP跳转过去也可以执行。
我又换了块板试了一下,发现就是要把IAP、APP都烧写进去,之后串口升级app才可以,只烧写IAP,IAP在跳转到app执行时会死机。这是什么问题?

 楼主| sanxinhuang 发表于 2021-6-10 11:10 | 显示全部楼层
我查看下中断向量表的偏移是正确,SCB->VTOR的设置值和串口读出来的一样
muyichuan2012 发表于 2021-6-10 13:03 | 显示全部楼层
请问,有看AT32 AN0001吗?我估计是代码中记录状态flag没有处理好
https://www.arterytek.com/downlo ... USART_ZH_V1.0.2.pdf
mapleleaf0902 发表于 2021-7-19 09:00 | 显示全部楼层
本帖最后由 mapleleaf0902 于 2021-7-19 09:01 编辑

楼主问题解决了吗?我也遇到同样的问题,是把正点原子IAP代码修改过来的,stm32可以只烧录iap程序,然后用串口发送app程序,但AT32需要iap和APP都烧录进去才行,只烧录iap进去,用串口发送APP会死机,都烧写进去才正常
084425 发表于 2021-7-31 11:57 | 显示全部楼层
首先要明确一点,IAP程序的原理是纯软件行为。
caigang13 发表于 2021-8-2 12:29 来自手机 | 显示全部楼层
是不是IAP里面有状态变量在记录
单片小菜 发表于 2021-8-2 17:07 | 显示全部楼层
你将IAP的速度降来试试,看看是不是速度影响的?
单片小菜 发表于 2021-8-5 11:14 | 显示全部楼层
感觉好像接错地方了。
chenqianqian 发表于 2021-8-5 20:23 来自手机 | 显示全部楼层
貌似必须要先擦除一遍APP的flash区域。
鱼的记忆888 发表于 2021-8-6 10:52 | 显示全部楼层
应该是IAP程序里FLASH需要一次擦1K,DEMO里是一次擦2K
.[attachimg]1726508[/attachimg,
6450610ca3e0403a3.png
68433610ca3eb27fbc.png
slf123123 发表于 2021-8-6 16:29 | 显示全部楼层
鱼的**888 发表于 2021-8-6 10:52
应该是IAP程序里FLASH需要一次擦1K,DEMO里是一次擦2K
.

FLASH一次擦多少得看芯片具体型号对应的FLASH大小,要是问题在擦写这的话,他第一种情况应该都升级不成功,听描述我感觉问题还是在中断向量表上面
单片小菜 发表于 2021-8-7 12:36 | 显示全部楼层
IAP不错的,烧录也很快的,不错的。
huquanz711 发表于 2021-8-9 07:36 来自手机 | 显示全部楼层
是不是烧写地址偏移不对
viphotman 发表于 2022-8-7 09:22 | 显示全部楼层
iap有三个地方要修改中断偏移,可能是这里的问题
weifeng90 发表于 2022-8-8 08:07 来自手机 | 显示全部楼层
肯定的啊
车友车行 发表于 2022-8-12 17:56 | 显示全部楼层
哥,我这有技术支持 13122576612
小北爱编程 发表于 2022-8-16 16:32 | 显示全部楼层
有解决办法了吗?我也碰到了类似的问题
小北爱编程 发表于 2022-8-16 17:02 | 显示全部楼层
搞定了,记得不要把优化等级调的太高。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

5

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部