N32G45XVL-STB之JTAG/SWD 复用功能重映射

目录

概述

1 JTAG/SWD 复用功能重映射

1.1 端口映射

 1.2 SWJ_CFG 配置事项

1.3 上下拉配置

2 软件实现

2.1 GPIO库中的Remap定义

2.2 SW_JTAG Remap定义的功能

2.3 一个使用范例


概述

本文主要介绍N32G45XVL-STB之JTAG/SWD 复用功能重映射功能的使用方法,笔者通过阅读文档《N32G45x 系列32-bit ARM® Cortex®-M4 微控制器用户手册 V3.0》,详细了解了JTAG/SWD端口的对应IO口的使用方法,还通过具体的实例验证了其功能。

1 JTAG/SWD 复用功能重映射

1.1 端口映射

芯片上电默认使能 SWD-JTAG 调试接口,调试接口被映射到 GPIO 端口上,如下表所示。

如调试期间需要使用其 GPIO 功能, 可通过设置 AFIO_RMP_CFG. SW_JTAG_CFG[2:0]位,可以改变上述重映像配置。参见下表。

 1.2 SWJ_CFG 配置事项

当 APB 桥的写缓冲区满了的时侯,在写 AFIO_RMP_CFG 寄存器时需要多用一个 APB 周期。这是因为SWD_JTAG 脚的释放需要两个 APB 周期完成,以保证 NJTRST 和 JTCK 的输入信号为一个干净的电平。

第一个周期:

输入 1 / 0 的 SWD_JTAG 输入到内核的信号被接为 0 或1(NJTRST/TDI/TMS 接 1, JTCK 接0);

第二个周期:

由 IOM 控制 SWD_JTAG 引脚的控制信号(比如方向,上下拉,施密特输入等)。


1.3 上下拉配置

由于 JTAG 的引脚直接连接到内部的调试寄存器上(JTCK/SWCLK 直接连接到时钟端),因此必须保证 JTAG的输入引脚不能处于浮空态。 为了避免任何非可控的 IO 电平, JTAG 的输入引脚固定内部的上下拉:

NJTRST:          内部上拉
JTDI:                内部上拉
JTMS/SWDIO:    内部上拉
JTCK/SWCLK:    内部下拉

2 软件实现

2.1 GPIO库中的Remap定义

函数原型:

void GPIO_ConfigPinRemap(uint32_t RmpPin, FunctionalState Cmd)

参数介绍:

RmpPin: 选择IO对应的Remap功能

Cmd:      状态选择, 可以被设置为ENABLE / DISABLE

2.2 SW_JTAG Remap定义的功能

 在GPIO操作库对应的头文件中已经将Remap的功能通过宏定义的形式描述出来

代码第7行:  使能SWO和JTAG调试功能,仅NJTRST为普通IO接口,其他接口不能配置为IO

代码第10行:使能SWO和禁止使用JTAG调试功能,此时PA15, PB3,PB4,可以被作为IO使用

代码第13行:禁止SWO和JTAG功能,此时PA13,PA14,PA15, PB3,PB4可以被配置为IO端口使用

复用功能GPIO端口
JTMS/SWDIOPA13
JTCK/SWCLKPA14
JTDIPA15
JTDOPB3
NJTRSTPB4

2.3 一个使用范例

在N32G45XVL-STB开发板上有三个LED,其中PB4控制LED2,但PB4端口和JTAG的NJTRST端口是并用的。直接将PB4配置为IO并不能控制LED的工作状态。需要将PB4对应的JTAG功能Disable之后,PB4的IO功能才能被打开。

 

实现代码如下:

源代码如下:

    /*
        1) initial LED gpio port 
        2)  disable JTAG, enable SWO
    */
    GPIO_ConfigPinRemap(GPIO_RMP_SW_JTAG_SW_ENABLE, ENABLE); 

 硬件实物图:

  • 24
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值