news 2026/5/27 19:21:17

华大HC32F460配置JTAG调试引脚为普通GPIO(PB03、PA15等)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华大HC32F460配置JTAG调试引脚为普通GPIO(PB03、PA15等)

背景

由于项目需要,使用的SWD调试对芯片进行下载与调试,未使用JTAG相关功能,同时GPIO引脚不够用,于是需要将PB03(JTDO/SWO)和PA15(JTDI)设置为普通的GPIO来使用;

问题

由于PB03(JTDO/SWO)和PA15(JTDI)默认用于JTAG功能,其无法直接像普通的IO口那样直接配置引脚复用,需要先关闭引脚对应的debug功能。
直接像普通GPIO引脚一样配置是无效的。

处理方法

使用GPIO_SetDebugPort函数进行配置。
该函数位于hc32_II_gpio.c文件中,函数定义如下:

/** * @brief GPIO debug port configure. Set debug pins to GPIO * @param [in] u8DebugPort: @ref GPIO_DebugPin_Sel for each product * @param [in] enNewState: An @ref en_functional_state_t enumeration value. * @arg ENABLE: set to debug port (SWD/JTAG) * @arg DISABLE: set to GPIO * @retval None */voidGPIO_SetDebugPort(uint8_tu8DebugPort,en_functional_state_tenNewState){/* Parameter validity checking */DDL_ASSERT(IS_GPIO_DEBUG_PORT(u8DebugPort));DDL_ASSERT(IS_FUNCTIONAL_STATE(enNewState));DDL_ASSERT(IS_GPIO_UNLOCK());if(ENABLE==enNewState){SET_REG16_BIT(CM_GPIO->PSPCR,((uint16_t)u8DebugPort&GPIO_PSPCR_SPFE));}else{CLR_REG16_BIT(CM_GPIO->PSPCR,((uint16_t)u8DebugPort&GPIO_PSPCR_SPFE));}}

其中输入参数定义为:

/** * @defgroup GPIO_DebugPin_Sel GPIO Debug Pin Selection * @{ */#defineGPIO_PIN_TCK(0x01U)#defineGPIO_PIN_TMS(0x02U)#defineGPIO_PIN_TDO(0x04U)#defineGPIO_PIN_TDI(0x08U)#defineGPIO_PIN_TRST(0x10U)#defineGPIO_PIN_DEBUG_JTAG(0x1FU)#defineGPIO_PIN_SWCLK(0x01U)#defineGPIO_PIN_SWDIO(0x02U)#defineGPIO_PIN_SWO(0x04U)#defineGPIO_PIN_DEBUG_SWD(0x07U)#defineGPIO_PIN_DEBUG(0x1FU)/** * @brief Functional state */typedefenum{DISABLE=0U,ENABLE=1U,}en_functional_state_t;

针对于我的关闭PA15和PB03的需求,进行如下配置即可:

// 关闭 PA15 (JTDI) 的调试功能,释放为普通 GPIOGPIO_SetDebugPort(GPIO_PIN_TDI,DISABLE);// 关闭 PB03 (JTDO/TRACESWO) 的调试功能,释放为普通 GPIOGPIO_SetDebugPort(GPIO_PIN_TDO,DISABLE);

而后即可按照普通的GPIO进行配置。

额外需要注意的

观察GPIO_DebugPin_Sel 的定义可以发现,JTAG和SWD的部分引脚底层是相同的,例如:

#define GPIO_PIN_TCK (0x01U)
#define GPIO_PIN_SWCLK (0x01U)
#define GPIO_PIN_TMS (0x02U)
#define GPIO_PIN_SWDIO (0x02U)

这意味着部分JTAG功能引脚被关闭会导致SWD引脚也无法工作。
例如关闭JTAG所有功能GPIO_PIN_DEBUG_JTAG,或TCK和SWCLK,均会导致SWD调试下载使用的GPIO_PIN_SWCLK、GPIO_PIN_SWDIO无法工作。
进而导致你没有一个口可用于调试和下载了。
此时,只能通过在线烧录器或离线烧录器,按下图所示,将芯片切换到串口烧写模式,从而擦除错误的代码,抢救芯片。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/27 19:21:02

LobeChat主题定制教程:打造品牌专属的AI交互界面

LobeChat主题定制教程:打造品牌专属的AI交互界面 在企业纷纷拥抱AI的今天,一个智能聊天界面是否“像自己”,往往比它用了哪个大模型更关键。用户打开网页,第一眼看到的不是GPT-4还是Claude,而是颜色、字体、Logo——这…

作者头像 李华
网站建设 2026/5/26 4:29:02

当PPT成为“认知翻译器”:Paperzz AI如何用3000字重构演示文稿的底层逻辑——从文档到幻灯片,一个不靠“套模板”的智能语义转化系统

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - AI PPT制作https://www.paperzz.cc/aiPpt 📅 本文撰写于:2025年12月15日 星期一 ——非广告 非测评 非功能说明书 非工具推销单 它更像一份「演示文稿的认知工程手册…

作者头像 李华
网站建设 2026/5/27 5:19:58

无需高端显卡!Qwen3-8B在普通GPU上的流畅运行秘诀

无需高端显卡!Qwen3-8B在普通GPU上的流畅运行秘诀 在一台搭载RTX 3060笔记本电脑上,一位研究生正用本地部署的AI模型实时分析长达百页的PDF论文;一家初创公司利用自建的聊天机器人处理客户咨询,月度AI支出从数万元降至几乎为零。这…

作者头像 李华
网站建设 2026/5/24 1:08:42

“快捷回复”:话术管理工具 —— 支持分组分类、快速检索,一键新建 备份话术,适配高效沟通场景

在客服、行政、销售等高频沟通场景中,重复话术的逐字输入不仅消耗时间,还易出现表述偏差 —— 比如客服应对常见咨询、行政回复流程问题时,反复编辑相似内容会大幅降低工作节奏。大飞哥客服快速回复工具正是为解决这一问题设计的高效辅助工具…

作者头像 李华
网站建设 2026/5/26 7:19:06

跨国品牌GEO优化实战:多区域合规布局与文化适配关键策略

一、全球化布局的合规挑战与应对框架1.1 数据隐私法规矩阵管理GDPR(欧盟):用户数据全生命周期管理,重点关注“被遗忘权”和数据可携带性CCPA/CPRA(加州):消费者知情权与选择权,年度数…

作者头像 李华
网站建设 2026/5/25 12:07:15

中小企业AI转型首选:Qwen3-14B中型大模型实战应用解析

中小企业AI转型首选:Qwen3-14B中型大模型实战应用解析 在智能客服自动回复用户咨询的瞬间,系统不仅要理解“我的订单还没发”背后的焦急情绪,还要准确识别订单编号、查询物流状态、判断是否需要创建工单——这一连串操作如果依赖人工&#xf…

作者头像 李华