MH2103 MH22D3系列的JTAG/SWD复用功能和引脚映射,IO初始化的关键点

MH21xx和MH22xx内核集成了串行/JTAG调试接口(SWJ-DP)。这是标准的ARM CoreSight调试接

口,包括JTAG-DP接口(5个引脚)和SW-DP接口(2个引脚)。

● JTAG调试接口(JTAG-DP)为AHP-AP模块提供5针标准JTAG接口。

● 串行调试接口(SW-DP)为AHP-AP模块提供2针(时钟+数据)接口。

在SWJ-DP接口中,SW-DP接口的2个引脚和JTAG接口的5个引脚中的一些是复用的。

5个普通I/O口可用作SWJ-DP接口引脚

复位(SYSRESETn或PORESETn)以后,属于SWJ-DP的所有5个引脚都立即被初始化为可被调

试器使用的专用引脚,要将这些引脚释放出来做为IO口,需要软件配置对应的寄存器。

保证JTAG的输入引脚不是悬空的是非常必要的,因为他们直接连接到D触发器控制着调试模

式。必须特别注意SWCLK/TCK引脚,因为他们直接连接到一些D触发器的时钟端。

为了避免任何未受控制的I/O电平,在JTAG输入脚上嵌入了内部上拉和下拉。

● JINTRST(PB4):内部40K上拉

● JTDI(PA15):内部40K上拉

● JTMS/SWDIO(PA13):内部40K上拉

● TCK/SWCLK(PA14):内部40K下拉

● JTDO(PB3):无上下拉

一旦JTAG I/O被用户代码释放,GPIO控制器再次取得控制。这些I/O口的状态将恢复到复位时

的状态。

● JNTRST(PB4):带上拉的输入

● JTDI(PA15):带上拉的输入

● JTMS/SWDIO(PA13):带上拉的输入

● JICK/SWCLK(PA14):带下拉的输入

● JTDO(PB3):浮动输入

软件可以把这些I/O口作为普通的I/O口使用。
根据以上特征,需要特别留意:上电默认状态由于有这些上下拉电阻的存在,会在从JTAG切换为默认普通IO这一段时间,导致他并不是普通IO一样的输入浮空状态

比如我想用PA15来驱动一个led,如图所示:

那么这就会存在一个问题,因为上电期间到pa15被切换为普通IO状态这一段时间,pa15由于有一个上拉电阻的存在(有一个来自芯片vdd的电压供电到IO上),会导致LED被点亮一下,给用户的感觉就是上电瞬间,led意外的闪烁了一下。

要解决这个问题,需要修改一下这个电路:

我们将led的正极接到电源即可。由于上电期间PA15的上拉电阻存在,LED两端等电位,led就不会意外闪烁了。软件初始化完成后,用低电平驱动即可。

重映射寄存器的可选配置如下:

我们一般选择010这个配置比较常见,在io异常紧张的情况下,选择100这个配置。

在使用010这个配置的时候,要特别留意PA15,PB3,PB4的初始状态带来的问题,根据以上原则正确处理。

可以使用如下代码来切换IO为010这个配置:

c 复制代码
void JtagRemap(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE);
//remap
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
	GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE); //PA13,PA14 for sw-dp,pa15,pb3,pb4 for io	
}

文章为原创,转载需注明出处,未经本人书面允许,不得用于商业用途。

相关推荐
jianqiang.xue12 小时前
ESP-IDF保姆级入门41|产品级故障排查与稳定性优化全解:死机复位排查/内存泄漏定位/性能瓶颈分析/长期稳定性测试,掌握量产运维问题定位方法论
单片机·mcu·物联网·esp32
单片机仿真设计13 小时前
【proteus仿真】基于 STM32 的林区环境监控系统设计
stm32·单片机·proteus
Doraemomo14 小时前
IMX6ULL裸机开发——GPIO的使用
单片机·嵌入式硬件
笨笨饿15 小时前
#138_解决Codex要五次回复的问题
linux·stm32·单片机·嵌入式硬件·mcu·物联网·嵌入式实时数据库
云泽80815 小时前
STM32 USART 详解(七):超时设置、非阻塞发送与 ReadLine 实现
stm32·单片机·嵌入式硬件
2401_8628808216 小时前
UART 通信协议
单片机·51单片机
沐欣工作室_lvyiyi17 小时前
矿井安全监测系统设计(论文+源码)
单片机·无线通信·云平台·物联网毕业设计·矿井安全监测系统·机智云
ZLG_zhiyuan17 小时前
低空测试“升维”:ZUS系列示波器如何破解复杂信号的“测与析”难点?
单片机·嵌入式硬件
..Dauntless..18 小时前
【stm32】GPIO(下篇)——统一编址、源码理解和输入模式
stm32·单片机·嵌入式硬件
youyou-060618 小时前
AUTOSAR‑COM 常见问题 QA (1)
java·linux·服务器·单片机·汽车