[APM32F0] APM32禁止JTAG和SWD引脚的方法

[复制链接]
938|1
 楼主| onemoren 发表于 2025-4-8 10:48 | 显示全部楼层 |阅读模式
1)对于APM32F1/F0系列,调用这个函数进行专门的禁止即可:
图片1.png
2)对于APM32F4系列,系统上电后,所有引脚都是AF0复用,AMP32F4系统共支持AF0-AF15种复用。具体到每种复用,查看数据手册就行,比如:
图片2.png
也就是,对于APM32F4系列,没有专门的调试口禁止函数了,用户只要不将这几个调试引脚配置成默认的AF0复用即可。因为MCU系统上电后,这几个引脚默认是被配置成AF0复用的,即用于JTAG/SW调试模式。
● PA15: JTDI 处于上拉状态
● PA14: JTCK/SWCLK 处于下拉状态
● PA13: JTMS/SWDAT 处于下拉状态
● PB4: NJTRST 处于上拉状态
● PB3: JTDO 处于浮空状态
图片3.png
用户要使用这些引脚做通用GPIO,只要不配置成复用模式即可(GPIO_Mode_AF),配置成输入或者输出或者模拟模式就行:
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 */

雾都浪漫 发表于 2026-3-20 11:04 | 显示全部楼层
APM32F0 禁止 JTAG/SWD 引脚需配置 AFIO_MAPR 寄存器:1. 写 0x02 到 AFIO_MAPR 的 SWJ_CFG 位段,仅禁用 JTAG 保留 SWD;写 0x04 则完全禁用 JTAG 和 SWD;2. 操作前需确保 AFIO 时钟已使能;3. 禁用后无法通过调试器下载 / 调试,需通过串口 IAP 恢复或重新烧录。
总结
配置 AFIO_MAPR 寄存器的 SWJ_CFG 位段控制禁用范围;
操作前需使能 AFIO 时钟确保配置生效;
完全禁用后需通过 IAP 恢复调试功能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

87

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部