0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深度解析STM32单片机JTAG的复用方法

2oON_changxuemc 来源:cg 2018-12-26 10:27 次阅读

先来copy下 JTAG、SW接口的定义

JTAG:JTAG(JointTest Action Group;联合测试工作组)是一种国际标准测试协议,主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSPFPGA器件等。标准的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仿真就与目标失去去联系。

解决办法有:

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 模式比 JTAG 在高速模式下面更加可靠。 在大数据量的情况下面 JTAG 下载程序会失败, 但是 SWD 发生的几率会小很多。基本使用 JTAG 仿真模式的情况下是可以直接使用 SWD 模式的, 只要你的仿真器支持。 所以推荐大家使用这个模式。

在大家 GPIO 刚好缺一个的时候, 可以使用 SWD 仿真, 这种模式支持更少的引脚。

在大家板子的体积有限的时候推荐使用 SWD 模式, 它需要的引脚少, 当然需要的 PCB 空间就小啦! 比如你可以选择一个很小的 2.54 间距的 5 芯端子做仿真接口。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43970

    浏览量

    620785
  • JTAG
    +关注

    关注

    6

    文章

    383

    浏览量

    71150

原文标题:STM32单片机JTAG的复用方法解析

文章出处:【微信号:changxuemcu,微信公众号:畅学单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    关于STM32单片机复用问题,请大神赐教

    关于STM32单片机复用功能我有点疑问:什么时候用复用输出????什么时候开启复用时钟????谢谢!!!!
    发表于 08-13 10:22

    STM32单片机接收不定长度字节数据的方法解析相关资料推荐

    http://m.elecfans.com/article/899756.html今天说一下STM32单片机的接收不定长度字节数据的方法。由于STM32
    发表于 07-01 09:41

    STM32单片机的程序烧写有哪些方法

    什么是IAP?STM32单片机的程序烧写有多种方法,分别为:JTAG/SW、ISP、IAP> JTAG的方式需要专用的烧写工具,在产品布置到
    发表于 01-19 07:29

    STM32F103单片机JTAG端口重映射的相关资料推荐

    STM32单片机复位后,JTAG口默认是被占用的。如果想将JTAG占用的几个IO口设置为普通IO口,就需要进行端口重映射。复位后端口默认功能可以在S
    发表于 02-07 08:25

    谈一谈STM32单片机端口复用和端口重映射

    STM32单片机端口复用和端口重映射STM32单片机上有很多I/O口,也有很多的内置外设,比如I2C、ADC、DAC、USART等都属于内置
    发表于 02-22 08:18

    关于单片机与GPIO的简介

    薪火培训电控第一讲——单片机与GPIO关于单片机GPIO简介GPIO八种输入输出模式GPIO引脚复用Cube和keil使用简介文章参考:【STM32
    发表于 02-24 06:29

    LM3S系列单片机JTAG口解锁应用笔记

    LM3S系列单片机JTAG口解锁应用笔记 介绍LM3S系列单片机JTAG口被设置为GPIO后,恢复JTAG功能的
    发表于 04-07 16:20 52次下载

    STM32单片机JTAG复用方法解析

    JTAGJTAG(Joint Test Action Group;联合测试工作组)是一种国际标准测试协议,主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的
    发表于 12-24 14:09 6107次阅读

    深度解析STM32单片机JTAG复用方法

    设置启动模式为ISP模式(BOOT0=1、BOOT1=0)或设置启动模式为RAM运行模式(BOOT0=1、BOOT1=1)。 将开发板断电后重新上电,此时就因不是在用户程序模式,因此就不会执行禁用JTAG的语句,JTAG功能也就可以正常使用。
    的头像 发表于 03-26 09:04 9965次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>解析</b><b class='flag-5'>STM32</b><b class='flag-5'>单片机</b><b class='flag-5'>JTAG</b>的<b class='flag-5'>复用</b><b class='flag-5'>方法</b>

    深度解析STM32单片机JTAG复用方法资料下载

    电子发烧友网为你提供深度解析STM32单片机JTAG复用
    发表于 04-17 08:49 5次下载
    <b class='flag-5'>深度</b><b class='flag-5'>解析</b><b class='flag-5'>STM32</b><b class='flag-5'>单片机</b><b class='flag-5'>JTAG</b>的<b class='flag-5'>复用</b><b class='flag-5'>方法</b>资料下载

    STM32单片机JTAG复用方法解析资料下载

    电子发烧友网为你提供STM32单片机JTAG复用方法解析资料下载的电子资料下载,更有其他相关的
    发表于 04-18 08:45 13次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>单片机</b><b class='flag-5'>JTAG</b>的<b class='flag-5'>复用</b><b class='flag-5'>方法</b><b class='flag-5'>解析</b>资料下载

    三种常见的STM32单片机的烧写方法

    三种常见的STM32单片机的烧写方法
    发表于 05-28 09:57 34次下载

    STM32F103单片机JTAG端口重映射

    STM32单片机复位后,JTAG口默认是被占用的。如果想将JTAG占用的几个IO口设置为普通IO口,就需要进行端口重映射。复位后端口默认功能可以在S
    发表于 12-04 15:36 10次下载
    <b class='flag-5'>STM32</b>F103<b class='flag-5'>单片机</b><b class='flag-5'>JTAG</b>端口重映射

    STM32单片机端口复用和端口重映射

    STM32单片机端口复用和端口重映射STM32单片机上有很多I/O口,也有很多的内置外设,比如I2C、ADC、DAC、USART等都属于内置
    发表于 12-28 19:23 7次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>端口<b class='flag-5'>复用</b>和端口重映射

    单片机解析g代码的方法

    的运动。 解析G代码是将其转化为单片机能够理解和执行的指令集。单片机解析G代码的方法主要包括以下几个方面:G代码的格式
    的头像 发表于 12-22 14:15 515次阅读