如何把STM32的调试口设置为普通的IO口?
创始人
2024-11-14 14:05:10
0

目录

一、背景

二、STM32的调试方式选择

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

3.1 仅关闭JTAG调试功能

四、关闭JTAG和SWD调试方式后如何更新程序以及仿真

4.1 关闭JTAG如何更新程序

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


一、背景

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

二、STM32的调试方式选择

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

STM32 IOJTAG IOSWD IO
PB3NC
PB4NC
PA13
PA14
PA15NC

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

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

三、关闭所有的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进行调试了;

3.1 仅关闭JTAG调试功能

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

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

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

四、关闭JTAG和SWD调试方式后如何更新程序以及仿真

4.1 关闭JTAG如何更新程序

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

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

4.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功能的影响了。

如有侵权,联系删除。

相关内容

热门资讯

实测教程”辣椒互娱房卡充值“王... 来教大家如何使用房卡充值房卡充值 添加房卡批售商:微【113857775】复制到微信搜索、直接添加房...
房卡必备教程“牛牛房卡批发平台... 新世界牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡...
实测教程”毛豆互娱房卡怎么得“... 实测教程”毛豆互娱房卡怎么得“人海大厅房卡充值微信房卡充值 添加房卡批售商:微【113857776】...
微信金花房卡哪里买的/微信金花... 金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来享受...
一秒了解”蜜瓜大厅房卡多少米“... 一秒了解”蜜瓜大厅房卡多少米“金花牛牛房卡充值游戏中心打开微信,添加客服【113857776】,进入...
上下分金花牛牛房卡怎么冲/创建... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享受...
玩家攻略”海米大厅房卡多少米“... 玩家攻略”海米大厅房卡多少米“哪里有详细房卡介绍 微信牛牛房卡客服微信号微信游戏中心打开微信,添加客...
炸金花房卡专卖店联系方式/哪里... 微信炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡...
玩家须知”灯笼众娱如何买房卡“... 第二也可以在游戏内商城:在游戏界面中找到 “微信金花,斗牛链接房卡”“商城”选项,选择房卡的购买选项...
终于找到“微信金花房卡怎么来的... 新毛豆互娱是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡...
电视阿里系统如何装安卓,轻松安... 亲爱的读者,你是不是也像我一样,对电视上的阿里系统充满了好奇?想要给它装上安卓系统,让它变得更加灵活...
玩家须知”星辰娱乐房卡领取码“... 玩家须知”星辰娱乐房卡领取码“金花房卡哪里是有卖微信房卡充值 添加房卡批售商:微【113857776...
牛牛房卡批发平台/牛牛链接房卡... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来享受...
1分秒分析”海洋世界房卡怎么弄... 1分秒分析”海洋世界房卡怎么弄“新道游房间卡怎么购买 微信牛牛房卡客服微信号微信游戏中心打开微信,添...
玩家攻略”王者大厅有挂吗“金花... 来教大家如何使用房卡充值房卡充值 添加房卡批售商:微【113857775】复制到微信搜索、直接添加房...
金花房卡找谁买划算/炸金花房卡... 金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来享受...
1分秒分析”海神众娱房卡获取方... 来教大家如何使用房卡获取方式房卡充值 添加房卡批售商:微【113857775】复制到微信搜索、直接添...
给大家讲解“牛牛房卡购买渠道/... 新世界牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡...
实测教程”新海岛大厅获取房卡教... 来教大家如何使用获取房卡教程房卡充值 添加房卡批售商:微【113857775】复制到微信搜索、直接添...
微信怎么玩金花自建房间步骤/微... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来享受...