打印

GD32f130 IAP 跳转过后马上死机

[复制链接]
楼主: linguanghua
手机看帖
扫描二维码
随时随地手机跟帖
21
堆栈指针未正确设置

使用特权

评论回复
22
flycamelaaa| | 2024-8-9 23:00 | 只看该作者
如果应用程序的时钟和外设配置与IAP环境不兼容,或者配置过程中存在错误,也可能导致死机。

使用特权

评论回复
23
powerantone| | 2024-8-10 10:23 | 只看该作者
IAP跳转代码或应用程序代码中可能存在逻辑错误,导致跳转后无法正常运行。

使用特权

评论回复
24
两只袜子| | 2024-8-10 12:46 | 只看该作者
在跳转前,从新的应用程序的起始地址处读取堆栈指针的值,并将其设置到MSP寄存器中。

使用特权

评论回复
25
jcky001| | 2024-8-10 16:56 | 只看该作者
检查硬件连接和电源稳定性

使用特权

评论回复
26
stormwind123| | 2024-8-10 20:00 | 只看该作者
硬件连接错误、电源不稳定或外部干扰等也可能导致MCU在IAP跳转后死机。

使用特权

评论回复
27
probedog| | 2024-8-10 22:03 | 只看该作者
检查并更新中断向量表地址

使用特权

评论回复
28
cr315| | 2024-8-11 20:00 | 只看该作者
在IAP中设置跳转标志,并通过复位操作跳转到APP。这种方法可以确保运行环境变得很干净,避免由于之前状态未清除而导致的问题。复位后,在HAL_Init()之后、外设初始化之前读取跳转标志,并根据需要跳转到APP。

使用特权

评论回复
29
febgxu| | 2024-8-13 07:54 | 只看该作者
没有逻辑错误或无限循环。检查是否有非法的内存访问或指针操作。

使用特权

评论回复
30
caigang13| | 2024-8-13 08:06 | 只看该作者
这种情况大概率是中断向量表有问题。

使用特权

评论回复
31
wilhelmina2| | 2024-8-13 08:40 | 只看该作者
在IAP跳转后,如果中断向量表(VTOR)的地址没有正确更新到新的应用程序的起始地址,那么当中断发生时,处理器可能会跳转到错误的地址,导致死机。

使用特权

评论回复
32
abotomson| | 2024-8-13 10:12 | 只看该作者
是否有内存地址冲突,例如DMA通道、外设寄存器等。

使用特权

评论回复
33
uiint| | 2024-8-13 11:18 | 只看该作者
新程序的堆栈设置是否足够大,以防止堆栈溢出导致死机

使用特权

评论回复
34
qiufengsd| | 2024-8-13 12:56 | 只看该作者
如果在跳转过程中不需要处理中断或接收数据,可以关闭这些功能以避免潜在的干扰和错误。

使用特权

评论回复
35
ingramward| | 2024-8-13 14:30 | 只看该作者
检查是否有未处理的异常或错误,导致跳转失败。

使用特权

评论回复
36
iyoum| | 2024-8-13 16:05 | 只看该作者
在跳转到IAP代码时有足够的堆栈空间。如果堆栈溢出,可能会导致程序异常。

使用特权

评论回复
37
saservice| | 2024-8-13 17:42 | 只看该作者
检查堆栈设置和中断向量表的配置。

使用特权

评论回复
38
mollylawrence| | 2024-8-13 19:18 | 只看该作者
MCU的启动模式设置正确,没有因为启动模式设置错误而导致程序跳转到错误的位置。

使用特权

评论回复
39
alvpeg| | 2024-8-13 20:54 | 只看该作者
有足够的堆栈空间,防止因堆栈溢出导致的死机。

使用特权

评论回复
40
maudlu| | 2024-8-13 22:28 | 只看该作者
如果中断向量表没有被更新,可能会导致中断无法正常处理,从而引起死机。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则