STM32使用Cortex—M3标准内核架构,该内核包含硬件调试模块,支持复杂的调试操作,硬件调试模块允许内核在取指或访问数据时停止,内核停止时,内核的内部状态和系统的外部状态都是可以查询的,完成查询后,内核和外设可以被复原,程序将继续执行,当STM32微控制器连接到调试器开始调试时,调试器将使用内核的硬件调试模块进行调试操作。
Cortex_M3内核内部集成两种调试接口:1、串行接口(即我们通常说说的SWD,仅需要两根信号线,与JTAG中的复用,调试速率可达10MHz)。2、JTAG调试接口(需要五根线,一般为10针接口,但标准的JTAG接口为20针,调试速率较前者略低,为2MHz)。
SWJ接口和JTAG接口的管脚复用内部原理图:
具体管脚对应:
不同模式下管脚的复用功能: