sanxinhuang 发表于 2021-6-10 11:08

iap 卡死

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
.1726508[/attachimg,

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

搞定了,记得不要把优化等级调的太高。。。
页: [1]
查看完整版本: iap 卡死