iap 卡死
IAP编译下载之后串口发送APP程序,IAP把app写入芯片flash,写完跳转到app执行直接死机。但我把app编译下载到芯片,再次用IAP跳转过去就可以执行,之后再用串口发送app,IAP跳转过去也可以执行。我又换了块板试了一下,发现就是要把IAP、APP都烧写进去,之后串口升级app才可以,只烧写IAP,IAP在跳转到app执行时会死机。这是什么问题?
我查看下中断向量表的偏移是正确,SCB->VTOR的设置值和串口读出来的一样 请问,有看AT32 AN0001吗?我估计是代码中记录状态flag没有处理好
https://www.arterytek.com/downlo ... USART_ZH_V1.0.2.pdf
本帖最后由 mapleleaf0902 于 2021-7-19 09:01 编辑
楼主问题解决了吗?我也遇到同样的问题,是把正点原子IAP代码修改过来的,stm32可以只烧录iap程序,然后用串口发送app程序,但AT32需要iap和APP都烧录进去才行,只烧录iap进去,用串口发送APP会死机,都烧写进去才正常 首先要明确一点,IAP程序的原理是纯软件行为。 是不是IAP里面有状态变量在记录 你将IAP的速度降来试试,看看是不是速度影响的?
感觉好像接错地方了。
貌似必须要先擦除一遍APP的flash区域。 应该是IAP程序里FLASH需要一次擦1K,DEMO里是一次擦2K
.1726508[/attachimg,
鱼的**888 发表于 2021-8-6 10:52
应该是IAP程序里FLASH需要一次擦1K,DEMO里是一次擦2K
.
FLASH一次擦多少得看芯片具体型号对应的FLASH大小,要是问题在擦写这的话,他第一种情况应该都升级不成功,听描述我感觉问题还是在中断向量表上面 IAP不错的,烧录也很快的,不错的。
是不是烧写地址偏移不对 iap有三个地方要修改中断偏移,可能是这里的问题 肯定的啊 哥,我这有技术支持 13122576612 有解决办法了吗?我也碰到了类似的问题 搞定了,记得不要把优化等级调的太高。。。
页:
[1]