stm32iap跳转后停留在boot

stm32iap跳转后停留在boot,第1张

1、检查代码跳转方式是否正确:IAP程序为了跳转到bootloader中,使用函数指针+汇编指令的方式进行跳转,这样可以保证代码跳转的正确性。需要检查跳转代码中是虚扮否有误,确保可以正常跳转到指定的ROM段。

2、检查内存布局是否正确:在跳转前,需要确保在IAP和bootloader两段程序哗喊之间有足够的空间,以免跳转后出现内存溢出等问乱誉野题。需要检查bootloader程序所在的ROM段以及可以被复制和更新的数据段是否设置正确。

STM32是可以实现多个APP的,袭闷升你可以通过你的IAP来控制app,通过不同的地址你可以选择跳转到不同的APP,一般都直接使用的IAP像APP跳罩孙转,逆向跳转一般通过复位来实现,但也可以通过代码跳转,APP之间的跳转也是一样的。

需要注意的是每个APP包括IAP都有各自的中断向量表,若在相应代码中有使用中断,跳转前记得先关闭中断,以免刚跳转过去但你还没来得及重新设置中断向量表就进入中断,拍老程序可能跑飞。

你先实现了一个IAP+APP,那么一个IAP+多个APP也就差不多懂了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8236306.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存