深度解析深度解析STM32单片机单片机JTAG的复用方法的复用方法
先来copy下 JTAG、SW接口的定义 JTAG:JTAG(JointTest Action Group;联合测试工作组)是一种国际标
准测试协议,主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的
JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 SWD:
SW(Serial Wire Mode Interface),串行接口线模式。在串行线模式,只有针TCLK和TMS使用。TDO数据输
出引脚是一个可选。 SWD下载调试 原理图: 从图中看到:板子使用SWD接口下载调试,即使用SWDIO、
SWCLK(PA13、PA14);PB3–JTDO 默认功能为JTAG的,而这里用作其他的功能–普通I/O。 问题来了:
1、需要关掉PB3的JTAG功能,复用为其他功能。 2、SWD 和传统的调试方式区别。 STM32JTAG复用相关方
法 : 直接上代码,如下:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,
先来copy下 JTAG、SW接口的定义
JTAG:JTAG(JointTest Action Group;联合测试工作组)是一种国际标准测试协议,主要用于芯片内部测试。现在多数的
高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、
时钟、数据输入和数据输出线。
SWD:SW(Serial Wire Mode Interface),串行接口线模式。在串行线模式,只有针TCLK和TMS使用。TDO数据输出引脚
是一个可选。
SWD下载调试 原理图:
从图中看到:板子使用SWD接口下载调试,即使用SWDIO、SWCLK(PA13、PA14);PB3–JTDO 默认功能为JTAG的,而
这里用作其他的功能–普通I/O。
问题来了:
1、需要关掉PB3的JTAG功能,复用为其他功能。
2、SWD 和传统的调试方式区别。
STM32JTAG复用相关方法 :
直接上代码,如下:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);//改变指定管脚的映射
GPIO_Remap_SWJ_JTAGDisableJTAG-DP失能+SW-DP使能
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);。..。...12345
但,当设置了以上语句后,当运行了这两个语句后,JTAG仿真就与目标失去去联系。
解决办法有:
评论0