NXP S32K1 SWD接口Attach to Running Target 操作复位MCU
Technical Note
Architectures:
Arm
Component:
debugger
Updated:
2023/8/4 8:13
问题
在开发调试时,Attach to Running Target是一个非常有效的调试方法:当系统出现可疑问题时,可以通过Attach to Running Target操作连上调试器查看对应的系统状态。
在NXP S32K1 MCU上,当系统复位跑起来之后,使用SWD接口进行Attach to Running Target会造成系统复位。
如下图所示:系统复位之后进行Attach to Running Target之后查看对应的系统复位状态寄存器发现复位原因是JTAG,不是power on reset (POR):
原因
NXP S32K1系列MCU 复位之后,默认是JTAG模式,如果使用SWD模式,需要从JTAG转换到SWD,这个过程会造成JTAG复位:
在NXP S32K1系列MCU中,如果调试时选择了SWD接口,在系统复位之后进行Attach to Running Target操作时系统会进行JTAG到SWD的转换,导致系统复位。
PS:Attach to Running Target 操作时调试器(Debugger)本身不会复位系统。
解决方法
在NXP S32K1系列MCU中,如果想在系统复位之后进行Attach to Running Target(不希望系统复位)操作,需要使用JTAG接口:
如下图所示:系统复位之后进行Attach to Running Target之后查看对应的系统复位状态寄存器发现复位原因是power on reset (POR),不是JTAG:
参考文献:
- IDE Project Management and Building Guide (Attach to Running Target)
- S32K1xx Series Reference Manual