加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 一、STM32的调试方式选择
    • 二、关闭调试方式后如何更新程序以及仿真
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

开发攻略之STM32调试端口的映射~

08/05 11:15
701
阅读需 5 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

最近有一个项目用到了STM32F103RB系列单片机,由于引脚数量较少,不得不使用到了单片机的PB3和PB4两个引脚。而这两个引脚刚好又是STM32系列的JTAG调试引脚,如果要用于普通IO的功能需要先进行一定的设置。

一、STM32的调试方式选择

STM32支持JTAG和SWD两种调试方式,且默认状态下这两种调试功能都是开启的。

STM32 IO JTAG IO SWD IO
PB3 NC
PB4 NC
PA13
PA14
PA15 NC

由此我们可以知道:如果要使用JTAG调试功能,那么PB3,PB4,PA13,PA14,PA15都不能使用;而如果我们关闭JTAG功能,但是开启SWD调试功能,那么PB3,PB4,PA15都可以当作普通IO来使用了;

ST官方3.5的库有提供关闭调试功能的两个接口。

1.1 关闭所有的JTAG和SWD调试功能

慎用,一旦执行该命令,程序运行后将不能通过JTAG或SWD方法进行烧写和下载,补救措施见文末

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);

执行上面语句后,PB3,PB4,PA13,PA14,PA15都可以当作普通iO来使用,此时不能通过J-Link进行调试了;

1.2 仅关闭JTAG调试功能

该方法的好处是,解放了JTAG功能占用的引脚,但是SWD调试功能依旧可以使用。

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

执行上面语句后,PB3,PB4,PA15都可以当作普通iO来使用,且可以通过SWD进行调试。

二、关闭调试方式后如何更新程序以及仿真

2.1 关闭JTAG如何更新程序

关闭JTAG调试功能以后,STM32不再支持在线仿真,且更新程序也需要通过一定操作才可以完成。此方法在开发阶段慎用!

建议程序启动时延时3-5秒后再关闭JTAG调试模式,如此,单片机断电复位后立即点击烧写按钮也是可以进行程序烧录的。

2.2 关闭JTAG及SWD调试功能后的补救措施

补救措施一:

设置启动模式为ISP模式(BOOT0=1、BOOT1=0)或设置启动模式为RAM运行模式(BOOT0=1、BOOT1=1)。

开发板断电后重新上电,此时就因不是在用户程序模式,因此就不会执行禁用JTAG的语句,JTAG功能也就可以正常使用。

补救措施二:

设置启动模式为ISP模式(BOOT0=1、BOOT1=0),用ISP程序将STM32的FLASH擦除,之后就可恢复JTAG功能。

补救措施三:

如果你的仿真器支持SWD仿真模式,如IAR下用JLINK、MDK下用ULINK2。直接将仿真器的模式设为SWD模,就可以不受这个禁止JTAG功能的影响了。

欢迎转发分享给需要的好友!

微信号:zls_it

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
LTC6905HS5-100#TRMPBF 1 Linear Technology LTC6905-XXX - Fixed Frequency SOT-23 Oscillator; Package: SOT; Pins: 5; Temperature Range: -40°C to 125°C
$41.05 查看
SST25VF016B-50-4I-S2AF 1 Silicon Storage Technology Flash, 16X1, PDSO8, 5.20 X 8 MM, ROHS COMPLIANT, EIAJ, SOIC-8

ECAD模型

下载ECAD模型
$1.95 查看
AB26T-32.768KHZ-E 1 Abracon Corporation CRYSTAL 32.7680KHZ 12.5PF T/H

ECAD模型

下载ECAD模型
$0.23 查看

相关推荐

电子产业图谱

微信公众号《朱老师IT充电站》主笔。先后从事电子工程师、单片机软件工程师、嵌入式linux软件工程师、物联网软件工程师、架构师等工作,教育品牌<朱老师物联网大讲堂>创始人,畅销书作者。擅长U-Boot、linux kernel等嵌入式底层和系统层开发、架构设计。擅长汇编、C/C++、Java、C#等常用开发语言。被授予:IBM技术专家、华为云享专家、51CTO学院金牌讲师等称号。