S32K341 interrupt handler wrong

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S32K341 interrupt handler wrong

2,718 Views
zhengjianfei1
Contributor III

Hi NXP,

最近调试K342,发现芯片出现了如下图这么一个问题,按图片展示的,当前是进入uart0中断,中断向量157。中断向量表偏移地址是157*4,里面的值是正确的uart0的中断服务函数。但是实际芯片表现来看,却进去了undefined handler函数。通过ICSR观察,确实当前是uart0中断,通过mem看,中断向量值确实也没有问题,但进入的中断地址确实又错了。此问题在复位引脚拉低复位的情况下必现。通过软件复位和上电复位偶而会出现。是否对如下图的情况发生的原因有一些猜想原因呢?

zhengjianfei1_0-1731635695615.png

 

Tags (1)
0 Kudos
Reply
3 Replies

2,652 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@zhengjianfei1

我看了下,分析的流程是没有问题的,这或许可能是和你打的断点的位置有关系,可能在你进入Underfined_handler之后存在新的中断产生,可以先在Undefined_handler()这个地方先打断点,然后进入断点的时候在分析下对应的中断位置是不是正确的。

例如我先看了下map文件中“PIT_0_ISR”对应的地址,然后直接在“PIT_0_ISR”定义的地方打上断点,这些结果是可以的。

Senlent_0-1732012365817.png

 

0 Kudos
Reply

2,631 Views
zhengjianfei1
Contributor III

Hi Senlent

感谢答复。不过我们测试的时候还没有打断点,直接按复位按键,全速运行,随后程序卡死后attach上去看就是这个故障。SCB寄存器的ICSR里将会指示当前正在执行的中断的向量号的。我们先按照您的建议试试:先在undefined handler断点,断点停住的时候再来寄存器的值。

Tags (1)
0 Kudos
Reply

2,663 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@zhengjianfei1

很抱歉让你久等阿,最近提问的很多,我在看你的问题了,我尽快给你分析下吧,我还需要点时间。

0 Kudos
Reply