Hi NXP,
最近调试K342,发现芯片出现了如下图这么一个问题,按图片展示的,当前是进入uart0中断,中断向量157。中断向量表偏移地址是157*4,里面的值是正确的uart0的中断服务函数。但是实际芯片表现来看,却进去了undefined handler函数。通过ICSR观察,确实当前是uart0中断,通过mem看,中断向量值确实也没有问题,但进入的中断地址确实又错了。此问题在复位引脚拉低复位的情况下必现。通过软件复位和上电复位偶而会出现。是否对如下图的情况发生的原因有一些猜想原因呢?
Hi@zhengjianfei1
我看了下,分析的流程是没有问题的,这或许可能是和你打的断点的位置有关系,可能在你进入Underfined_handler之后存在新的中断产生,可以先在Undefined_handler()这个地方先打断点,然后进入断点的时候在分析下对应的中断位置是不是正确的。
例如我先看了下map文件中“PIT_0_ISR”对应的地址,然后直接在“PIT_0_ISR”定义的地方打上断点,这些结果是可以的。
Hi Senlent,
感谢答复。不过我们测试的时候还没有打断点,直接按复位按键,全速运行,随后程序卡死后attach上去看就是这个故障。SCB寄存器的ICSR里将会指示当前正在执行的中断的向量号的。我们先按照您的建议试试:先在undefined handler断点,断点停住的时候再来寄存器的值。
Hi@zhengjianfei1
很抱歉让你久等阿,最近提问的很多,我在看你的问题了,我尽快给你分析下吧,我还需要点时间。