stormwind123 发表于 2025-5-27 10:38

N32G43x芯片的程序跳转出现故障。

N32G43x芯片的程序跳转出现故障。

suncat0504 发表于 2025-5-28 19:05

调试单步跟踪试试。或者输出log确认程序工作顺序。

lix1yr 发表于 2025-6-8 15:15

未处理的中断请求吧,可能会这样

g0d5xs 发表于 2025-6-8 16:21

在执行跳转前,当前程序区可能存在尚未处理的中断请求。

ex7s4 发表于 2025-6-8 17:29

如果这些中断请求未被全面地逐个清零关闭,可能会导致跳转失败。因此,在跳转前,应对开启过的中断使能进行全面关闭,而不仅仅是调用临时关闭中断响应的函数(如__disable_irq()),因为该函数不会阻止中断事件的发生及相应中断标志的生成。

zhizia4f 发表于 2025-6-8 18:30

外设未复位,在跳转前,如果开启过的外设没有进行复位操作,可能会导致跳转过程中出现不确定的状态。

q1ngt12 发表于 2025-6-8 19:41

建议跳转前对开启过的外设做复位,确保它们彻底静默下来,待到新的程序执行区根据实际情况再行初始化。

w2nme1ai7 发表于 2025-6-8 21:12

跳转地址或中断矢量表地址错误,跳转前需要确认即将跳转到程序区的内存地址和中断矢量表地址是否正确。

su1yirg 发表于 2025-6-9 08:05

在STM32库例程里,中断矢量表地址的修改一般采用基地址加偏移量的代码写法,需确保这一步骤无误。

tax2r6c 发表于 2025-6-9 10:14

SWD端口或程序跑飞问题,也可能会这样的

q1d0mnx 发表于 2025-6-9 11:25

在极端情况下,如程序跑飞,可能会导致SWD端口无法使用,进而无法进行正常的程序跳转和烧录。

lamanius 发表于 2025-6-9 13:52

可以尝试将BOOT0短接至VDD,以重新连接并进行烧录。
页: [1]
查看完整版本: N32G43x芯片的程序跳转出现故障。