STM32F103下载的SWJ接口禁用问题

文章介绍了STM32中的SWJ接口,包括SWD和JTAG,用于调试如ST-LINK下载程序。在STM32F103C6T6中,SWDIO、SWCLK和SWO是特定引脚。禁用JTAG-DP和SW-DP的代码会导致失去调试功能,但允许将这些引脚用作GPIO。若需串口下载,需调整BOOT模式并使用HAL库相应函数。
摘要由CSDN通过智能技术生成

前言

  在STM32中有一些引脚的主功能不是实现GPIO的功能,而是用作调试接口。就比如我们常用的ST-LINK下载器,就是通过SWD接口给STM32下载程序的。SWJ接口包括SWD和JTAG两种。

环境

  • STM32F103C6T6核心板
  • STM32CubeMX生成的HAL库文件

基础

SWJ接口(F103为例)

  • 串行线调试接口(SWD)

    • SWDIO:SWD端口的数据线(PA13)。
    • SWCLK:SWD端口的时钟线(PA14)。
    • SWO:串行线输出(PA3)。
  • JTAG接口

    • TMS引脚(PA13)
    • TCK引脚(PA14)
    • TDO引脚(PA15)

串口下载:

  • BOOT模式

    boot0 --> 1 boot1 --> 0

  • 串口接线

    TTL_RX --> PA9(TX) TTL_TX --> PA10(RX)

代码

  调用下列代码后,在初始化引脚就能把上述的SWJ接口的引脚,当GPIO使用。但是也会失去用ST-LINK调试下载的功能,得要生成hex文件,和切换boot的模式后,用串口一下载程序。在HAL库中好像只能把JTAG-DP和SW-DP都给禁止调,而不能单独禁止一个。

// 禁用JTAG-DP和SW-DP
__HAL_AFIO_REMAP_SWJ_DISABLE(); 

// 将JTDI功能映射到PB4引脚
//__HAL_AFIO_REMAP_JTDI_ENABLE();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值