[MM32软件] IAP跳转过去了,但是中断没跑起来怎么解决啊?

[复制链接]
8464|76
kmzuaz 发表于 2024-8-6 15:43 | 显示全部楼层
在Cortex-M系列处理器中,有一个全局中断使能标志(PRIMASK或FAULTMASK),如果这个标志被设置为禁止中断,那么所有的中断都将不会被处理。确保在跳转到APP之前,这个标志被设置为允许中断。
averyleigh 发表于 2024-8-6 17:21 | 显示全部楼层
如果IAP过程中改变了中断向量表的内容,需要确保新的中断向量表正确无误。
mikewalpole 发表于 2024-8-6 19:02 | 显示全部楼层
如果中断的优先级设置不正确,可能会导致中断无法按预期触发。
geraldbetty 发表于 2024-8-6 20:40 | 显示全部楼层
在APP的主程序开始处加入__enable_irq();来开启中断。
gygp 发表于 2024-8-6 22:22 | 显示全部楼层
在IAP跳转前,关闭所有中断和外设,以避免潜在的冲突。在APP启动后,再根据需要重新打开中断和外设
mikewalpole 发表于 2024-8-8 09:47 | 显示全部楼层
检查硬件连接是否有问题,比如中断引脚是否正确连接到单片机,是否有外部噪声干扰等。
sanfuzi 发表于 2024-8-8 11:20 | 显示全部楼层
跳转代码没有禁用中断,或者没有执行任何可能影响中断系统状态的指令。
zerorobert 发表于 2024-8-8 12:53 | 显示全部楼层
在IAP过程中,检查是否有错误发生,确保中断相关的代码和数据被正确地加载和执行。
wilhelmina2 发表于 2024-8-8 14:29 | 显示全部楼层
如果IAP过程中修改了代码或数据段的位置,可能会导致中断向量指向错误的位置。
juliestephen 发表于 2024-8-8 16:02 | 显示全部楼层
使用软件复位时,要注意复位后的状态恢复,确保APP能够正确启动
cemaj 发表于 2024-8-8 21:00 | 显示全部楼层
检查软件代码中是否有逻辑错误,比如中断服务程序中的错误处理或者中断标志位的清除。
pl202 发表于 2024-8-9 00:02 | 显示全部楼层
需要设置中断使能位以及全局中断使能位。
olivem55arlowe 发表于 2024-8-9 03:07 | 显示全部楼层
在APP启动后根据需要重新配置中断。这可以避免中断冲突导致的死机问题
qiufengsd 发表于 2024-8-9 06:12 | 显示全部楼层
在跳转后的应用程序中,检查中断使能状态,并确保中断被正确地初始化和使能。
V853 发表于 2024-8-9 17:50 | 显示全部楼层
堆栈指针(sp)可能在iap期间改变,影响中断的正确执行。
pixhw 发表于 2024-8-10 10:58 | 显示全部楼层
中断使能位(EA)已经被设置,以允许中断。
cemaj 发表于 2024-8-10 12:37 | 显示全部楼层
中断向量表的设置是否正确。在跳转前后,中断向量表的基地址可能需要调整。确保跳转后中断向量表的地址正确,并且中断服务程序(ISR)的地址被正确地加载到向量表中。
软核硬核 发表于 2024-8-10 13:08 | 显示全部楼层
你不知道如何分析。能详细描述一下吗?
gygp 发表于 2024-8-10 14:20 | 显示全部楼层
中断使能状态不对              
cashrwood 发表于 2024-8-10 16:13 | 显示全部楼层
堆栈指针(SP)在跳转后正确设置,以便中断服务例程(ISR)可以正确地使用堆栈。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部