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

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

3天内不再提示

【GD32 MCU 入门教程】二、GD32 MCU 烧录说明 (2)SWD/JTAG在线下载

聚沃科技 2024-08-08 17:34 次阅读

GD32系列MCU支持SWD和JTAG(部分型号不支持)接口进行下载调试,这些功能通过ARM CoreSight组件的标准配置和链状连接的TAP控制器来实现的。调试和跟踪功能集成在ARM Cortex-M内核中。调试系统支持串行(SW)调试和跟踪功能,部分型号也支持JTAG调试。调试和跟踪功能具体请参考下列文档:

Cortex-M4技术参考手册;

ARM调试接口V5结构规范。

目前GD32 MCU主要支持的调试下载设备有:J-linkV8/V9、U-link、标准的CMSIS-DAP调试工具如GD-link。SWD/JTAG的优势在于及下载和调试功能一体,可直接在集成开发环境IDE(如MDK、IAR)中进行下载和在线仿真。同时还有丰富的下载以及调试上位机,如J-flash和GD-link Programmer工具。J-flash可使用6.3版本及以上可选择GD MCU型号,也可在网盘->共享文件夹->软件中下载绿色版J-flash。GD-link Programmer请使用官网发布的最新版本。

注意:M23内核型号的E23x系列仅支持J-linkV9、U-link2、GD-link。

2.1 SWD/JTAG引脚定义

同时支持SWD/JTAG的系列有GD32A50x、GD32C10x、GD32C11x、GD32F10x、GD32F20x、GD32F30x、GD32F4xx、GD32E10x、GD32E11x、GD32E50x、GD32FFPR,仅支持SWD的系列为:GD32L23x、GD32F1x0、GD32F3x0、GD32E23x,仅支持JTAG的系列为GD32VF103。 SWD/JTAG调试下载引脚定义如下表所示,GD32A50x引脚不同于以下定义,请参考用户手册。

输入图片说明

2.2 SWD/JTAG烧录软件

J-link烧录需使用J-flash上位机,Jflash6.2版本及以上可选择到GD MCU型号。J-flash支持擦除、烧录、读取Flash、读保护、去读保护等操作。同时使用J-flash还可以进行Bin文件的截取、合并等操作。 GD-link烧录需使用GD-link Programmer,可支持擦除、烧录、读取、读保护、去读保护等功能,同时还可以将Bin装载到GD-link中实现脱机离线烧录功能,离线烧录在第4章节会详细介绍。

2.3 SWD/JTAG下载电路

SWD/JTAG下载电路如下图所示,如使用4线的SWD下载方式保留下图中SWDIO(PA13)、SWDCLK(PA14)、VCC、GND即可。注意:SWD/JTAG下载模式需要BOOT0拉低为正常的Flash启动模式。

输入图片说明

2.4 Jlink仿真器接口

Jlink仿真器是标准的Jtag接口,同时支持Jtag/SWD模式下载,其中除调试信号线外,还有Reset、VCCvref(Pin1)、VCCoutput(Pin2)引脚、GND引脚,引脚定义如下表所示。使用SWD模式下载时调试信号只需SWDIO(Pin7)、SWDCLK(Pin9)即可。一般可以做一个转接板方便连接和调试,如图所示。

需注意有的Jlink硬件必须连接VCCvref(Pin1)获取MCU的工作电压,一般在Jlink内部有一个跳线帽可以选择VCCoutput(Pin2)是否对外供电

Jlink 仿真器接口

输入图片说明

Jlink引脚定义

输入图片说明

Jtag接口转接板

输入图片说明

2.5 GD-link仿真器接口

GD-link仿真器接口为10针,支持Jtag/SWD模式下载和调试,接口定义如下图。使用SWD时只需使用Pin2、Pin4连接目标板PA13、PA14即可,Pin1电源引脚可以对目标板进行供电。为方便连接和调试可以使用转接板,如下图。

GDlink接口

输入图片说明

GDlink引脚定义

输入图片说明

GDlink转接板

输入图片说明

2.6 J-flash下载流程

使用Jlink连接到目标板,Jlink上的指示灯状态为绿灯常亮。

打开J-flash软件,在Options菜单栏下点击Project setting进入设置界面,如图。

输入图片说明
  1. 在Project Settings界面中的MCU选项卡下设置Device选项选择需要下载的MCU型号,如图1。在Target Interface选项卡下选择调试口的类型和速度,如图2。

J-flash软件MCU型号选择

输入图片说明

J-flash软件调试口设置

输入图片说明
  1. 选择好型号后,相关操作便都在Jflash首页面的Target菜单栏下,首先点击Connect进行连接,连接成功后下方Log框会有信息提示,如图。

J-flash软件连接目标板

输入图片说明

J-flash打开Bin文件

输入图片说明
  1. 在Target菜单栏下Manual Programming选项下有上锁(读保护)、解锁(去读保护)、擦除、编程、读等操作可选,如图3-23。如需下载只需点击Target菜单栏下Production Program或按下F7即可下载,下载成功后会有弹窗提示,如图,如果下载失败下方Log会显示详细错误信息。

Jflash用户操作选项

输入图片说明

Jflash下载成功

输入图片说明

2.7 GD-link Programmer下载流程

1 使用GD-link连接到目标板,连接成功后GD-link上的LED2快速闪烁。

2 打开GD-link Programmer软件,在菜单栏Target下点击Connect连接MCU。在右边信息栏可以显示GD-link固件信息、MCU信息,同时可选择SWD/JATG以及设置通信速率。在下方STATUS栏中会显示MCU选项字节信息,如果选项字节前两个字节不是A5 5A 则表示MCU有安全保护,需要点击Insecurity后才能操作。如图所示。

GD-link Programmer软件连接目标板

输入图片说明

3 在菜单栏File下点击OPEN可以打开Bin或Hex,如果是打开Bin会有弹窗需要输入Bin的起始地址。打开Bin或Hex都会在下方Status栏中显示文件的校验和。如图所示。

GD-link Programmer打开Bin或Hex

输入图片说明

4 在菜单栏Target下选择Program可以把打开的Bin或Hex烧录到MCU中,在此菜单栏下还可以进行擦除、读取Flash、运行代码、添加安全保护、去除安全保护等操作。如图所示。

GD-link Programmer用户操作选项

输入图片说明

5 需注意安全保护选项内有High等级和Low等级,部分GD MCU型号有高级别Flash保护,添加后将无法解锁,不能再通过外部操作Flash。一般情况选择Low进行安全保护即可。如图。

GD-link Programmer添加安全保护

输入图片说明

2.8 SWD/JTAG烧录注意事项

  1. MCU无法连接时需注意检查MCU中是否有程序禁用了SWD/Jtag调试端口,MCU是否处在睡眠等状态下。如果都不是可以降低SWD/Jtag通信速率、降低调试连接线的长度再进行测试;
  2. 调试器的RESET引脚建议和MCU的复位PIN连接,这样能较好的时序匹配;
  3. SWDIO内部已经上拉, SWCLK已内部下拉,不外接相应的上下拉电阻一般可以使用,但是建议SWDIO外接10K上拉, SWCLK外接10K下拉,以提高SWD接口信号驱动能力;
  4. SWD/Jtag信号线避免串入较多干扰,PCB走线注意不要靠电感等感性器件过近。工业级应用中可以增加上下拉处理对地并pF级电容,提高调试接口的抗干扰能力;
  5. PB3为SWO输出信号,使用到该功能才需要将SWO接出来,否则可以不用引出。

教程GD32 MCU方案商聚沃科技原创发布,了解更多GD32 MCU教程,关注聚沃科技官网

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

    关注

    6020

    文章

    44349

    浏览量

    628053
  • 嵌入式
    +关注

    关注

    5042

    文章

    18795

    浏览量

    298237
  • 开发板
    +关注

    关注

    25

    文章

    4754

    浏览量

    96095
  • 烧录
    +关注

    关注

    8

    文章

    246

    浏览量

    35390
  • GD32
    +关注

    关注

    7

    文章

    398

    浏览量

    23960
收藏 人收藏

    评论

    相关推荐

    GD32 MCU 入门教程GD32 MCU 常见外设介绍(12)FMC 模块介绍

    闪存控制器(FMC),提供了片上闪存需要的所有功能。FMC 也提供了页擦除,整片擦除,以及32 位整字或 16 位半字编程闪存等操作。 GD32 MCU 支持不同类型编程的具体说明如下表 GD
    的头像 发表于 08-21 09:56 648次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>入门教程</b>】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常见外设介绍(12)FMC 模块介绍

    GD32 MCU原理及固件库开发指南》+读后感

    。 第2章介绍GD32 MCU快速入门与开发平台搭建的方法,包括对软硬件开发平台、调试工具、GD32 M
    发表于 06-06 21:52

    GD32芯片MCU ISP下载工具

    GD32芯片MCU ISP 下载工具
    发表于 10-08 14:53 17次下载

    兆易创新GD32 MCU选型手册,适用于GD32全系列MCU

    兆易创新GD32MCU选型手册,适用于GD32全系列MCUGD32MCU选型手册,适用于GD32全系列MCU
    发表于 10-19 17:26 48次下载

    你了解GD32 MCU的命名规则吗

    下面为大家介绍GD32 MCU的通用命名规则,以GD32F303ZGT6为例,其中,GD32代表GD32
    的头像 发表于 01-13 09:38 3032次阅读
    你了解<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>的命名规则吗

    GD32 MCU的选项字节是什么?

    GD32 MCU的选项字节是什么,有什么功能呢?选项字节被误篡改如何回复?
    的头像 发表于 01-17 09:42 1023次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>的选项字节是什么?

    不同型号的GD32 MCU如何区分?

    大家是否碰到过以下应用场景:同一套软件代码希望跑在不同型号的GD32 MCU中,但有些地方需要根据MCU型号进行调整?或者上位机或其他MCUGD3
    的头像 发表于 01-27 09:32 789次阅读
    不同型号的<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>如何区分?

    GD32 MCU 入门教程】一、GD32 MCU 开发环境搭建(1)使用Keil开发GD32

    GD32系列为通用型MCU,所以开发环境也可以使用通用型的IDE,目前使用较多的是KEIL、IAR、 GCC和Embedded Builder,客户可以根据个人喜好来选择相应的开发环境。
    的头像 发表于 08-08 15:01 492次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>入门教程</b>】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 开发环境搭建(1)使用Keil开发<b class='flag-5'>GD32</b>

    GD32 MCU 入门教程】一、GD32 MCU 开发环境搭建(2)使用 IAR 开发 GD32

    GD32系列为通用型MCU,所以开发环境也可以使用通用型的IDE,目前使用较多的是KEIL、IAR、 GCC和Embedded Builder,客户可以根据个人喜好来选择相应的开发环境。
    的头像 发表于 08-08 15:40 327次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>入门教程</b>】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 开发环境搭建(<b class='flag-5'>2</b>)使用 IAR 开发 <b class='flag-5'>GD32</b>

    GD32 MCU 入门教程】一、GD32 MCU 开发环境搭建(3)使用 Embedded Builder 开发 GD32

    GD32系列为通用型MCU,所以开发环境也可以使用通用型的IDE,目前使用较多的是KEIL、IAR、 GCC和Embedded Builder,客户可以根据个人喜好来选择相应的开发环境。
    的头像 发表于 08-08 16:03 458次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>入门教程</b>】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 开发环境搭建(3)使用 Embedded Builder 开发 <b class='flag-5'>GD32</b>

    GD32 MCU 入门教程GD32 MCU 烧录说明(1)ISP 烧录

    ISP:In System Programing,在系统编程,通过MCU片内的引导程序进行Flash编程。 GD32片内有一个只读信息块,用于存放引导装载程序,引导程序在MCU出厂前就会提前
    的头像 发表于 08-08 16:20 340次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>入门教程</b>】<b class='flag-5'>二</b>、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>烧录</b><b class='flag-5'>说明</b>(1)ISP <b class='flag-5'>烧录</b>

    GD32 MCU 入门教程GD32 MCU 烧录说明(3)脱机烧录

    大部分主流的烧录器厂商均支持GD32 MCU烧录,如ELNEC、致远电子、贷铺科技、希尔特、迈斯威志、轩微、天津威磊、Segger、芯园电子、北极星电子等
    的头像 发表于 08-08 17:44 514次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>入门教程</b>】<b class='flag-5'>二</b>、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>烧录</b><b class='flag-5'>说明</b>(3)脱机<b class='flag-5'>烧录</b>

    GD32 MCU 入门教程GD32 MCU 常见外设介绍(14)RTC 模块介绍

    GD32 MCU内部提供了一个RTC(实时时钟)模块,通过RTC可以实现日历时钟、闹钟等功能。RTC也可以用于深度睡眠或待机模式的低功耗唤醒。不同系列的GD32 MCU在RTC设计和功
    的头像 发表于 08-23 09:18 196次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>入门教程</b>】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常见外设介绍(14)RTC 模块介绍

    GD32 MCU 入门教程GD32 MCU FPU 使用方法

    GD32 MCU FPU 使用方法
    的头像 发表于 08-25 09:24 186次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>入门教程</b>】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> FPU 使用方法

    GD32 MCU入门教程GD32 MCU GPIO 结构与使用注意事项

    本文是专门为基于GD32 MCU开发的工程设计人员提供,主要介绍了GPIO的功能配置、内部结构以及在不同场景使用时的注意事项,旨在帮助GD32 MCU开发者优化对通用型输入输出端口(G
    的头像 发表于 09-07 10:34 181次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b><b class='flag-5'>入门教程</b>】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> GPIO 结构与使用注意事项