STM32F1,F4,L1系列禁止JTAG和SW引脚方法

STM32F1系列

程序中在使用到JTAG、SWD的某个IO 时,需要禁用掉相关调试方法后,再配置相应的IO方式。在需要相应的接口配置前使用这些代码。

对于F1系列,调用函数进行专门的禁止。

标准库配置方式:

c 复制代码
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOF, ENABLE);	 //使能相应接口的时钟,以及RCC_APB2Periph_AFIO

 GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//完全禁用SWD及JTAG 
 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);     //禁用JTAG

HAI库配置方式:

c 复制代码
	__HAL_RCC_AFIO_CLK_ENABLE();
  __HAL_RCC_GPIOB_CLK_ENABLE();           	//
	__HAL_RCC_GPIOF_CLK_ENABLE();           	//
	

/* JTAG-DP Disabled and SW-DP Disabled */
  __HAL_AFIO_REMAP_SWJ_DISABLE();			//完全禁用SWD及JTAG 
	__HAL_AFIO_REMAP_SWJ_NOJTAG();				//禁用JTAG

在禁用掉相应的接口方式后,即不能再使用这种方式下载程序了。因此会出现报错:""RAM check failed at :""或者"NO M-Cortex".

遇到这个状况,需要再次下载程序,有如下三种办法:

  1. 如果只禁用的JTAG,可以用SWD模式下载程序进去。

否则只能后续两种,但总体思路都是先不让代码运行起来,不去禁用JTAG及SWD,这时候下载程序。

  1. 采用人工复位,按钮或短接。在程序下载进行到复位的这一步,完成复位动作。
  2. 修改启动模式:拉高BOOT0->重新上电->程序不能运行->下载程序-> 拉低BOOT0->重新上电->程序正常运行。

STM32F4系列

对于F4系列,系统上电后,所有引脚都是AF0复用,F4系统共支持AF0-AF15种复用。

具体到每种复用,查看数据手册就行,比如这个:

对于F4系列,没有专门的禁止函数了,用户只要不是将这几个调试引脚配置成默认的AF0复用即可。

因为系统上电,这几个引脚默认是配置成AF0复用,且用于JTAG/SW调试模式。

● PA15: JTDI 处于上拉状态

● PA14: JTCK/SWCLK 处于下拉状态

● PA13: JTMS/SWDAT 处于下拉状态

● PB4: NJTRST 处于上拉状态

● PB3: JTDO 处于浮空状态

用户要使用这些引脚做通用IO,只要不配置复用模式即可(GPIO_Mode_AF),配置成输入或者输出就行

c 复制代码
GPIO_Mode_IN   = 0x00, /*!< GPIO Input Mode */
GPIO_Mode_OUT  = 0x01, /*!< GPIO Output Mode */
GPIO_Mode_AF   = 0x02, /*!< GPIO Alternate function Mode */
GPIO_Mode_AN   = 0x03  /*!< GPIO Analog Mode */

STM32L151系列

类似STM32F4系列

相关推荐
驱动起爆大师x_x1 小时前
《Ubuntu20.04环境下的ROS进阶学习8》
linux·笔记·单片机·嵌入式硬件·学习·机器人·自动驾驶
ICMAN1232 小时前
宠物饮水机的水箱低液位提醒如何实现?
嵌入式硬件·液位检测·icman·液位提醒·宠物饮水机
唯创知音3 小时前
AI芯片WT2605C赋能厨房家电,在线对话操控,引领智能烹饪新体验:尽享高效便捷生活
人工智能·单片机·物联网·生活·智能家居·语音识别
极客小张4 小时前
基于STM32的远程工业控制系统架构设计:MQTT通信、React界面与FreeRTOS优化的综合应用
c语言·arm开发·stm32·物联网·算法·react.js·毕业设计
物随心转4 小时前
TIM(Timer)定时器的原理
单片机·嵌入式硬件
辰哥单片机设计5 小时前
STM32项目分享:智能风扇系统
stm32·单片机·嵌入式硬件
我想学LINUX5 小时前
一文带你掌握 tmux -- 高效的终端复用工具
linux·嵌入式硬件·嵌入式·策略模式·tmux·tmux命令
牧神园地5 小时前
半导体器件基础09:MOS管特性和应用(2)
嵌入式硬件·硬件工程
yanwu_nuc5 小时前
野火stm32h743xih6 touchgfx显示屏点亮(一)
stm32·嵌入式硬件
霄同学5 小时前
DRV8825步进电机驱动详细说明书————含接线图
单片机·嵌入式硬件