JTAG 边界扫描之 RT1170 测试(下篇)

一. 概述

在 JTAG 边界扫描之基本原理介绍(上篇)里我们描述了边界扫描基本原理,对边界扫描有大概认识,接下来将描述其具体实现方式。不同平台实现边界扫描方式多种多样,以下将介绍一种基于 μTrace 和 Trace32 的 RT1170 边界扫描测试方式。

二. 边界扫描描述语言(BSDL)

在边界扫描测试开始前通常需要先准备测试芯片的 BSDL 文件。 BSDL 文件使用边界扫描描述语言(BSDL)描述了在特定组件内实现边界扫描的关键要素。如图 1 所示为 BSDL 文件包含的要素,只要设备符合 JTAG 标准,那么必定具有对应的 BSDL 文件。BSDL 文件可以在一些边界扫描的软件中被使用,通过加载对应的 BSDL 文件可以实现对芯片外部所有管脚的读取和控制。具体芯片最新 BSDL 文件可以从对应官网下载,在 BSDL Library: BSDL Library - Over 9000 JTAG Models 同样可以查找到部分芯片 BSDL 文件。

图 1 BSDL 文件包含要素

三. 标准指令集

JTAG 协议里规定了边界扫描指令,如下图 2 描述了 IEEE Std 1149.1 中定义的边界扫描指令。一些边界扫描软件中集合了这些指令操作,直接使用指令选项可实现对应操作,具体指令说明如下。

图 2 标准指令集

四. 测试环境

测试使用的是 Lauterbach 工具套件,测试软件 TRACE32 安装包可在 Lauterbach 官网页面下载。

图 3 针对 Cortex®-M 的 µTrace® 调试器

图 4 针对 Arm 的 TRACE32 主页

五. 测试方式

 使用针对 Cortex®-M 的 µTrace® 调试器和 TRACE32 软件执行边界扫描测试,按照以下步骤操作:

1. 硬件操作

(1) 使用硬件平台 RT1170 开发板,测试前去掉板载电阻 R187、R208、R195、R78 防止外部电路引脚干扰。去掉 J5、J6、J7、J8 跳帽断开板载 debugger,将外部 Lauterbach 调试器连接 RT1170 MIPI20T JTAG 接口,使用 USB 电缆将调试器连接到 PC,通过 5V 电源适配器为调试器供电。总体连接如图 5 所示。

图 5 硬件连接

(2) 打开 PC 上的“设备管理器”。 Lauterbach 设备会出现在 Trace32 器件中,如图 6 所示。如果未显示 Lauterbach 设备,需要检查是否连接正确。

图 6 Lauterbach 设备出现在设备管理器中

(3)为 RT1170 EVK 板上电,连接 EVK 板上标有 J1 或 J2 的 USB 端口到 PC 端,注意在 RT1170 EVK 板带电时勿拔插适配器,防止调试器或目标器件损坏,上电/掉电顺序如下:

— 上电:调试器 > 目标器件

— 掉电:目标器件 > 调试器

2. 软件操作

(1) 打开 TRACE32  软件图标,进入 TRACE32 主页。主页面底部的状态栏显示 “system down”,而不是“power down”则表示连接正常,如图 7 所示。

图 7 TRACE32 主页状态栏与命令栏

(2) 在命令栏输入以下命令,并在每个命令后按下回车键:

    SYStem.Down

    BSDL.RESet

    BSDL.ParkState

    Select-DR-Scan BSDL.state

    输入完后将弹出 BSDL. 状态窗口,如图 8 所示,单击文件(FILE)按钮加载要验证的 BSDL 文件。这里选择的是准备好的 RT1170 芯片 BSDL 文件,NXP BSDL 文件通常会放在 nxp.com 的芯片介绍页,比如 RT1170 的 BSDL 文件链接为:https://www.nxp.com/downloads/en/bsdl/i.MXRT1170_BDSL.bsdl

图 8 加载 BSDL 文件

(3) 加载文件后,在命令栏输入如下命令 BSDL.SOFTRESET,弹出 BSDL.状态窗口的“检查”选项卡。单击 BYPASSall 和 IDCODEall 选项,两个均测试通过(在标准指令集 BYPASS 是 TDI 通过移位寄存器连接到 TDO,IDCODE 是读取器件的识别寄存器)。点击 IDCODEall 测试结果可以查看识别到的 ID code。 

  图 9 IDCODEall 测试结果

(4) 单击 SAMPLEall 按钮(标准指令集 SAMPLE 是对 IC 标准操作进行快照),此时“No result”变为“Test done”。双击如图所示实体名称,在 BSDL.SET 窗口中可以看到 SAMPLE 测试结果。

 图 10 SAMPLEall 测试结果

(5)在 BSDL.SET 窗口不选中 intern 以过滤掉内部寄存器,剩下的内容是每个信号引脚上的采样值。使用万用表测量至少三个信号引脚的电压,判断 SAMPLE 测试是否通过,以引脚 GPIO_AD_05 为例,执行以下步骤:

    ① 某引脚测量得为低电平(如 GPIO_AD_05)。

    ② 用杜邦线给该引脚施加高电平。

    ③ 命令栏输入 BSDL.RUN 并回车运行。

    ④ 读取 Reg.列中的寄存器值由 0 变为 1。

    ⑤ 使用杜邦线对该引脚施加低电平,Reg.列中的寄存器结果变为 0。

    ⑥ 引脚 GPIO_AD_05 通过了 SAMPLE 测试。

图 11 SAMPLE 测试

 (6) SAMPLE 测试引脚输入信号,TRACE32  也可以通过 EXTEXT 进行输出控制测试(标准指令集 EXTEXT 是将边界扫描的预加载数据应用到端口),只需执行以下步骤:

    ① 选择 EXTEXT 指令。

    ② DR mode 选择 Set Write。

    ③ 取消 intern 过滤内部寄存器。

    ④ 选择 SetAndRun,TwoStepDR。

    ⑤ 点击 Run。

    ⑥ Reg.列中输入逻辑控制想要控制的引脚。

图 12 EXTEXT 测试

六. 参考资料

1. AN12919: Introduction to Boundary Scan of i.MX RT Series – Application Note (nxp.com.cn)

2. How to Perform Boundary Scan for LPC55(S)xx based on μTrace (nxp.com.cn)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值