EFR32 JTAG/SWD烧录失败原因

EFR32支持JTAG和SWD两种方式烧录

烧录,调试默认相关引脚PF0、PF1、PF2、PF3(EFR32MG1 Data Sheet)
SWCSWDSWD:SWD是ARM公司提出的另外一种调试接口,相对于JTAG接口,使用更好的信号引脚,6根信号线如下,其中1~4是必选,5和6是可选的:

  1. Vref:目标表参考电压信号,用于检测目标板是否供电,直接与目标板VDD相连,并不向外提供输出电压;
  2. GND:公共地信号;
  3. SWDIO:串行数据输入信号,作为仿真信号的双向数据信号线,建议上拉;
  4. SWCLK:串行时钟输入,作为仿真信号的时钟信号线,建议下拉;
  5. SWO:串行数据输出,CPU调试接口可通过SWO输出一些调试信息,该引脚是可选的;
  6. RESET:仿真器输出至目标CPU的系统复位信号;是可选信号。

重点1

在程序设计时应避免外设和这些IO冲突,这里举个例子,例如你需要将PF0/PF1设为串口的TX/RX,为了避免SWD接口对串口的影响,那么你应该会调用以下代码来禁用SWD接口,但是往往初始化都是在程序的开端,当下次烧录时你会发现烧录不了,因为CPU已经执行下面的几句代码,从而将SWD禁用了,所以你烧录不了。

 GPIO_DbgSWDClkEnable(false);
 GPIO_DbgSWDIOEnable(false);
 GPIO_DbgSWOEnable(false);

重点2

使用Simplicity Studio 4开发时,在isc文件的Plugins选项中有个Debug JTAG插件默认是勾选的,如果用不到我们应该取消勾选,要不然在使用相关IO时会出现一些奇怪问题。

连接不上MCU

  1. Could not access Debug Challenge Interface.
    在这里插入图片描述

遇到上述原因可以尝试以下方法:

commander.exe device recover --device EFR32MG21A020F768IM32

SWD烧录复用为串口

  1. 错误方式:
    SWDIO --> TX
    SWCLK --> RX
  2. 正确方式:
    SWDIO --> RX
    SWCLK --> TX
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值