打印

GD32f130 IAP 跳转过后马上死机

[复制链接]
楼主: linguanghua
手机看帖
扫描二维码
随时随地手机跟帖
41
如果可能,尝试在不同的硬件上运行相同的IAP和应用程序代码,以排除硬件故障的可能性。

使用特权

评论回复
42
wangdezhi| | 2024-8-17 14:40 | 只看该作者
参考GD32F130的官方文档和示例代码,确保遵循了所有的编程指南。

使用特权

评论回复
43
yorkbarney| | 2024-8-17 16:18 | 只看该作者
跳转的应用程序本身可能存在代码或数据错误,如指针越界、数组越界、资源冲突等,这些问题在跳转后可能暴露出来,导致死机。

使用特权

评论回复
44
wengh2016| | 2024-8-17 17:55 | 只看该作者
在IAP跳转到APP的过程中,如果时钟配置不正确(例如,未正确地配置PLL),则可能导致APP无法以正确的频率运行

使用特权

评论回复
45
abotomson| | 2024-8-17 19:30 | 只看该作者
错误的时钟配置可能会导致系统工作不正常,甚至死机。

使用特权

评论回复
46
pmp| | 2024-8-17 21:05 | 只看该作者
使用调试工具(如J-Link或ST-Link)来调试IAP程序,查看具体的死机原因。可以设置断点,逐步执行代码,观察变量和寄存器的变化。

使用特权

评论回复
47
louliana| | 2024-8-17 22:42 | 只看该作者
如果可能,在跳转前将外设注销或恢复到初始状态。

使用特权

评论回复
48
mollylawrence| | 2024-8-18 08:57 | 只看该作者
应在跳转前使用__set_MSP(*(__IO uint32_t*) FLASH_APP1_ADDR)

使用特权

评论回复
49
uiint| | 2024-8-18 10:30 | 只看该作者
跳转后的应用程序中断向量表配置不正确,导致中断无法正常处理。

使用特权

评论回复
50
qiufengsd| | 2024-8-18 12:11 | 只看该作者
跳转前需要设置正确的堆栈指针(MSP),如果堆栈指针设置错误,程序在执行过程中可能会访问无效的内存地址,导致死机。

使用特权

评论回复
51
mattlincoln| | 2024-8-18 13:45 | 只看该作者
在跳转前,从应用程序的某个已知地址(如向量表的开始位置之后)读取堆栈指针的值,并将其设置为当前堆栈指针。

使用特权

评论回复
52
sanfuzi| | 2024-8-18 15:19 | 只看该作者
新程序中的初始化代码正确无误,特别是对于外设的初始化,如GPIO、时钟、中断等。

使用特权

评论回复
53
primojones| | 2024-8-18 16:55 | 只看该作者
如果跳转地址错误,可能会导致程序跳转到无效的内存区域。

使用特权

评论回复
54
phoenixwhite| | 2024-8-18 18:28 | 只看该作者
在IAP中设置跳转标志,并通过复位操作跳转到APP。这种方法可以确保运行环境干净,避免时钟配置和外设初始化导致的卡死。

使用特权

评论回复
55
jtracy3| | 2024-8-18 20:05 | 只看该作者
在IAP跳转过程中,如果中断向量表的地址没有正确设置,会导致新程序无法正确响应中断,从而引发系统卡死。

使用特权

评论回复
56
光光雎鸠| | 2024-8-21 14:55 | 只看该作者
跳转到iap代码时有大量的堆栈空间。

使用特权

评论回复
57
V853| | 2024-9-3 06:40 | 只看该作者
有足够的堆栈空间来防止堆栈溢出导致的混乱。

使用特权

评论回复
58
理想阳| | 2024-9-3 15:07 | 只看该作者
不正确的时钟配置可能会导致系统工作不正常,甚至崩溃。

使用特权

评论回复
59
朝生| | 2024-9-4 22:10 | 只看该作者
不正确的时钟配置可能导致系统故障甚至崩溃。,

使用特权

评论回复
60
芯路例程| | 2024-9-6 06:10 | 只看该作者
在这种情况下,中断向量表很有可能出现问题。

使用特权

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

本版积分规则