关闭

STM32 JTAG引脚复用设置

标签: STM32-JTAGJTAG复用设置
2001人阅读 评论(0) 收藏 举报
分类:

前奏

先来copy下 JTAG、SW接口的定义,
JTAG:JTAG(Joint Test 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 和传统的调试方式区别。

stm32 JTAG复用相关方法 :
直接上代码,如下:

  ........
  RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
  //改变指定管脚的映射  GPIO_Remap_SWJ_JTAGDisable  JTAG-DP 失能 + SW-DP使能
  GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
  .......

但,
当设置了以上语句后,当运行了这两个语句后,JTAG仿真就与目标失去去联系。
解决办法有:
1、设置启动模式为ISP模式(BOOT0=1、BOOT1=0)或设置启动模式为RAM运行模式(BOOT0=1、BOOT1=1)。 将开发板断电后重新上电,此时就因不是在用户程序模式,因此就不会执行禁用JTAG的语句,JTAG功能也就可以正常使用。
2、设置启动模式为ISP模式(BOOT0=1、BOOT1=0),用ISP程序将STM32的FLASH擦除,之后就可恢复JTAG功能。
3、如果你的仿真器支持SWD仿真模式,如IAR下用JLINK、MDK下用ULINK2。 直接将仿真器的模式设为SWD模,就可以不受这个禁止JTAG功能的影响了。

我的环境切合第三个解决方案,IAR设置如下:
链接接口设置为:SWD

SWD 和传统的调试方式区别 :

  1. SWD 模式比 JTAG 在高速模式下面更加可靠。 在大数据量的情况下面 JTAG 下载程序会失败, 但是 SWD 发生的几率会小很多。基本使用 JTAG 仿真模式的情况下是可以直接使用 SWD 模式的, 只要你的仿真器支持。 所以推荐大家使用这个模式。
  2. 在大家 GPIO 刚好缺一个的时候, 可以使用 SWD 仿真, 这种模式支持更少的引脚。
  3. 在大家板子的体积有限的时候推荐使用 SWD 模式, 它需要的引脚少, 当然需要的 PCB 空间就小啦! 比如你可以选择一个很小的 2.54 间距的 5 芯端子做仿真接口。

然后

以上,
散啦。。。。。。

0
0
查看评论

STM32小问题-复用调试接口JTAG/SWD为普通GPIO

这几天做毕业设计,按键模块用到了PA14和PA15这两个IO口(由于IO是引出到拓展板上,所以刚开始并不知道PA14和PA15是被调试接口占用了)。设置好相应的寄存器后发现只有PA15正常按下能被拉低,而PA14用万用表检测始终处于低电平状态。刚开始我以为这个管脚坏了,就想着设置成输出高电平试试,结...
  • wg1194024093
  • wg1194024093
  • 2017-02-03 22:31
  • 1336

stm32 JTAG引脚复用问题 与 RA8835驱动

先上图: 这款LCD点阵型驱动芯片是RA8835,我采用的是8080时序,CS,A0,RD,WR与DB[0..7] 连接原理图: DB3与DB4是JTAG引脚复用,我并非用JTAG-DP调试端口,而是SW-DP,只需要JTMS/SWDIO与JTCK/SWCLK。 但是stm32复...
  • ghostyu
  • ghostyu
  • 2011-12-13 22:55
  • 7507

STM32F10系列的管脚复用功能和AFIO

最近用stm32的spi接口和ti的cc3000通信,首先配置spi接口,按照网络关于spi接口的配置例程配置好以后,发现spi不工作,用while循环发送数据时,clk和mosi管脚没有输出信号,然后各种找问题:首先检查时钟,然后看看各个管脚能不能被置位,复位,发现其GPIO功能都是正常的。后来认...
  • u012719559
  • u012719559
  • 2014-03-14 19:25
  • 1578

STM32管脚的复用与重映像关系

最近记忆力以指数形式下降,以前弄明白的东西结果又忘了,故而将之写下避免下次又得重新查阅资料 这里讲的是关于STM32F10X的,和STM32F0XX系列的还是有一些区别的,F0的下次有空在写了.... 概括一下:复用就是一个引脚有几个功能,1.做普通IO输入输出2.其他外设的输入输出(比如I2C...
  • lincheng15
  • lincheng15
  • 2016-06-30 11:41
  • 3699

STM32 中JTAG 引脚作为普通IO口设置方法

第一次画STM32 的PCB ,因为采用了SWD 调试,认为JTAG的引脚PB3,PB4,没
  • iccome
  • iccome
  • 2014-06-21 18:10
  • 17665

STM 32 引脚复用和映射

STM32有很多内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。 例如串口1的发送接收引脚是PA9,PA10,当我们把PA9,PA10不当做GPIO,而当做复用功能串口1的发送接收引脚的...
  • a1985831055
  • a1985831055
  • 2017-08-12 13:12
  • 215

图解Stm32使用jlink下载程序时jtag接口(SW和JTAG模式)的简化方法

用过stm32的人都知道stm32有两种常用下载程序的方法,用串口和jlink。串口下载方法和51差不多不多说,用jlink下载时接口引脚太多导致接口很大,很占pcb的面积,在此我就针对这个问题清晰的讲述下jlink下载程序时jtag接口的简化方法!希望对大家有用。!   ...
  • qq_26093511
  • qq_26093511
  • 2017-03-02 11:07
  • 2376

stm32的两种固件下载模式:JTAG和SWD

一、JTAG模式 这种模式一般有10pin的、14pin的和20pin的,尽管引脚数和引脚的排列顺序不同,但是其中有一些引脚是一样的。值得注意的是,不同的IC公司会自己定义自家产品专属的Jtag头,来下载或调试程序。 Test Clock Input (TCK) -----强制要求1:T...
  • zhengshifeng123
  • zhengshifeng123
  • 2017-01-05 09:43
  • 3370

stm32 JTAG和SWD的使用区别

转载:http://www.51hei.com/mcu/1955.html 对于JTAG和SWD的使用区别,觉得下面这篇文章讲的比较清晰了,所以转帖到这里,希望对新手有所帮助。  SWD与JTAG区别及使用情况[转载]     上图是...
  • wuhenyouyuyouyu
  • wuhenyouyuyouyu
  • 2017-04-19 13:40
  • 2257

STM32中关于JTAG复用的问题

STM32中关于JTAG复用的问题
  • jmmx
  • jmmx
  • 2015-01-16 15:51
  • 2850
    个人资料
    • 访问:127211次
    • 积分:1950
    • 等级:
    • 排名:千里之外
    • 原创:62篇
    • 转载:35篇
    • 译文:2篇
    • 评论:11条
    文章分类
    最新评论