扫码加入

  • 正文
  • 相关推荐
申请入驻 产业图谱

RT1170-EVKB JTAG 调试使能实操:硬件 Rework + 引脚配置双步骤

2小时前
280
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

NXP MIMXRT1170-EVKB 开发板默认启用 SWD 调试模式,仅需 2 个引脚即可实现基础烧录与调试,但在边界扫描测试、多平台兼容调试等场景下,需切换至 JTAG 模式(支持边界扫描、多设备链调试等扩展功能)。RT1170 系列无需烧写 eFuse(区别于 RT10xx 系列),仅需通过硬件 Rework 隔离信号复用、软件配置引脚复用模式,即可成功启用 JTAG。本文详解从硬件改造到调试连接的完整流程,解决 “Rework 后仍无法识别 JTAG” 的常见问题。

资料获取:RT1170-EVKB使能JTAG调试

1. SWD 与 JTAG 核心差异对比

1.1 功能与适用场景

调试模式 核心优势 引脚数量 适用场景
SWD 引脚少(2 个)、烧录速度快、仅支持 ARM 平台 2(SWDIO、SWCLK) 常规开发调试、快速烧录
JTAG 支持边界扫描、多设备级联、兼容 FPGA/MCU 多平台 5(TDI、TDO、TCK、TMS、TRST) 生产测试、边界扫描、多设备调试

1.2 RT10xx 与 RT11xx 使能 JTAG 的关键区别

  • RT10xx:需烧写 eFuse 切换模式,烧写后不可恢复,且需移除特定电阻隔离复用信号;
  • RT11xx(含 RT1170):无需烧写 eFuse,支持 SWD/JTAG 动态切换,仅需硬件 Rework + 引脚配置即可启用。

2. RT1170-EVKB JTAG 使能步骤

2.1 硬件 Rework:隔离信号复用(核心前提)

RT1170-EVKB 的 JTAG 引脚与 DMIC、GPIO 等功能复用,需通过移除电阻断开复用,避免信号干扰:

(1)需移除的电阻

  • 关键电阻:R187、R208、R195、R78(参考 RT1170-EVK 官方文档,EVKB 同理);
  • 操作目的:这些电阻用于连接 JTAG 引脚与其他外设(如 DMIC),移除后可确保 JTAG 信号纯净。

(2)断开板级调试器隔离

  • 操作:断开 J113 接口(板级调试器与 JTAG 引脚的连接),避免板级调试器占用 JTAG 信号;
  • 验证:Rework 后用万用表测量 JTAG 引脚(如 TDO),确保无短路或异常拉低现象。

2.2 软件配置:引脚复用模式切换(解决 “识别不到 JTAG” 的关键)

客户反馈 “硬件 Rework 后仍无法识别 JTAG”,核心原因是默认代码将 JTAG 引脚(如 TDO)复用为 SWO(ARM 跟踪输出),且配置为下拉模式,导致 JTAG 信号异常。需通过代码配置引脚为 JTAG 功能:

(1)JTAG 引脚对应关系

RT1170-EVKB 的 JTAG 引脚与 GPIO 映射如下:
JTAG 信号 对应 GPIO 引脚 复用模式(ALT0)
TDI GPIO_LPSR_12 JTAG_MUX_TDI
TDO GPIO_LPSR_11 JTAG_MUX_TDO
TCK GPIO_LPSR_14 JTAG_MUX_TCK
TMS GPIO_LPSR_15 JTAG_MUX_TMS
TRST GPIO_LPSR_10 JTAG_MUX_TRSTB

(2)引脚配置代码(添加到BOARD_InitPins(void)函数)

#include "fsl_iomuxc.h"

void BOARD_InitPins(void) {
    // 启用GPIO_LPSR时钟(JTAG引脚属于LPSR域)
    CLOCK_EnableClock(kCLOCK_Iomuxc_Lpsr);

    // 配置JTAG引脚为ALT0模式(JTAG功能),禁用下拉/上拉或按需配置
    IOMUXC_SetPinMux(IOMUXC_GPIO_LPSR_10_JTAG_MUX_TRSTB, 0U);  // TRST
    IOMUXC_SetPinMux(IOMUXC_GPIO_LPSR_11_JTAG_MUX_TDO, 0U);   // TDO
    IOMUXC_SetPinMux(IOMUXC_GPIO_LPSR_12_JTAG_MUX_TDI, 0U);   // TDI
    IOMUXC_SetPinMux(IOMUXC_GPIO_LPSR_14_JTAG_MUX_TCK, 0U);   // TCK
    IOMUXC_SetPinMux(IOMUXC_GPIO_LPSR_15_JTAG_MUX_TMS, 0U);   // TMS

    // 配置引脚电气属性(按需调整,确保信号稳定)
    // TDO引脚配置示例:慢斜率、高驱动能力、弱上拉
    IOMUXC_SetPinConfig(IOMUXC_GPIO_LPSR_11_JTAG_MUX_TDO,
                        0x0AU |  // Slew Rate: 慢斜率
                        0x30U |  // Drive Strength: 高驱动能力
                        0x00U |  // Pull Select: 禁用下拉
                        0x01U |  // Pull Up/Down: 弱上拉
                        0x00U);  // Open Drain: 禁用
}

(3)配置说明

  • MUX_MODE=0U:选择 ALT0 模式,即 JTAG 功能(默认可能为 ALT7 模式,对应 SWO);
  • 上拉 / 下拉配置:TDO 引脚需配置为弱上拉(避免电压过低),其他引脚可按实际需求配置;
  • 代码位置:需在系统初始化阶段(如main函数之前)执行,确保引脚配置优先于其他功能。

2.3 调试器连接与验证

(1)硬件连接

  • 使用 20-pin 标准 JTAG 调试座,连接 RT1170-EVKB 的 JTAG 接口;
  • 调试器选择:支持 JTAG 的调试器(如 J-Link、ULINK Pro)。

(2)调试软件配置

  1. 打开调试软件(如 J-Link Commander);
  2. 配置接口类型为 JTAG,速率设为 4000kHz;
  3. 选择目标设备为MIMXRT1176XXXA_M7
  4. 执行连接命令,若显示 “JTAG chain detection found 1 devices”,且识别到 JTAG-DP,说明连接成功。

(3)边界扫描测试(可选)

  • 若需进行边界扫描,可使用调试软件自带的边界扫描工具,读取 JTAG 链信息,验证扫描功能正常。

3. 常见问题排查

问题 1:Rework 后仍识别不到 JTAG

  • 排查方向:
    1. 电阻是否完全移除(未虚焊);
    2. J113 是否断开;
    3. TDO 引脚电压是否过低(若为低电平,大概率是被复用为 SWO,需检查引脚配置代码);
  • 解决方法:重新检查硬件 Rework,确保引脚配置代码正确执行(可在串口打印引脚复用模式验证)。

问题 2:JTAG 连接不稳定,频繁断开

  • 排查方向:
    1. 调试速率过高(降低至 1000kHz 尝试);
    2. 引脚驱动能力不足(调整IOMUXC_SetPinConfig的驱动强度参数);
    3. 电源噪声干扰(在 JTAG 引脚附近添加 0.1μF 去耦电容);
  • 解决方法:降低调试速率,增强引脚驱动能力,优化电源滤波。

问题 3:连接成功但无法调试代码

  • 排查方向:
    1. 目标设备选择错误(需选择MIMXRT1176XXXA_M7,而非其他型号);
    2. 代码未正确配置引脚(JTAG 功能未启用);
    3. 调试器固件版本过低(更新调试器固件);
  • 解决方法:确认设备型号,重新烧录含 JTAG 引脚配置的代码,更新调试器固件。

4. 关键避坑事项

  1. 无需烧写 eFuse:RT1170 支持 SWD/JTAG 动态切换,烧写 eFuse 会导致功能受限,切勿操作;
  2. 引脚复用优先级:JTAG 引脚需优先配置为 ALT0 模式,避免被其他功能(如 SWO、UART)占用;
  3. 调试速率匹配:JTAG 速率需与 MCU 时钟匹配,过高会导致信号失真,建议从低速率(如 1000kHz)开始测试;
  4. 硬件 Rework 精度:移除电阻时需避免损坏周边焊盘,建议使用热风枪低温操作。
RT1170-EVKB 启用 JTAG 调试的核心是 “硬件隔离复用信号 + 软件配置引脚功能”,区别于 RT10xx 系列,无需烧写 eFuse,配置灵活且可恢复。关键步骤是移除复用电阻、断开板级调试器隔离,并通过代码将引脚切换为 JTAG 模式,解决 TDO 引脚电压过低的核心问题。该方案适用于生产测试、边界扫描等场景,帮助开发者充分利用 JTAG 的扩展功能。

相关推荐