This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C1294NCPDT:JTAG 接口:测试连接通过、调试失败目标加载、其中包含无用信息为什么是 Blackhawk XDSV2 ARM

Guru**** 664280 points
Other Parts Discussed in Thread: MSP430FR5987, SEGGER
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/717867/tm4c1294ncpdt-jtag-interface-test-connection-passes-debug-fails-target-load-with-useless-information-why-blackhawk-xdsv2-arm

器件型号:TM4C1294NCPDT
主题中讨论的其他器件:MSP430FR5987SEGGER

我无法获取 XDS100V2来调试我们的定制 PCAssembly。

我们有一个采用 TM4C1294控制器的定制设计 PCAssembly。
电路板设计为14引脚 JTAG 接口连接器设置了封装、与我们产品中 MSP430FR5987 JTAG 接口所使用的封装相同。

引脚1 TDO

PIN2 VCC 工具

引脚3 TDI

PIN4 VCC 目标

引脚5 TMS

PIN6无连接

PIN7 TCK

PIN8测试

引脚9 GND

引脚10无连接

引脚11 nRESET

引脚12无连接

引脚13无连接

引脚14无连接

我们购买了一个 Blackhawk XDS100V2器件编程器、该编程器具有一个20引脚连接器、用于 ARM 编程。  我将一根适配器电缆从20 ARM 引脚排列连接到我们的14引脚接头。  我稍后将发布此电缆的原理图。

我打开了 CCS7。 我一直在使用 Launchpad 和 Stellaris 调试接口进行开发。  我在计算机上选择了该项目以使其处于活动状态。 我打开了 target_config.ccxml 文件
我将连接从 Stellaris 更改为 德州仪器 XDS100V2 USB 调试探针并保存。
   
我将电路板跳线设置为将 VCC 目标应用到 JTAG 接口。
Test Connection、获得成功、并包含以下详细信息。
[开始:德州仪器 XDS100v2 USB Debug Probe_0]
 
执行以下命令:
 
%CCS_base%/common/uscif/dbgjtag -f %boarddatafil文件%-RV -o -F inform、logfile=yes -S pathlength -S integrity
 
[结果]
 
 
---- [打印电路板配置路径名]---------------
 
C:\Users\Lee\AppData\Local\TEXASI~1\CCS\
   ccs740\0\BrdDat\testBoard.dat
 
---- [打印重置命令软件日志文件]-----------------
 
此实用程序已选择100或510类产品。
此实用程序将加载适配器'jioserdesusb.dll'。
库构建日期为 "2017年11月6日"。
库构建时间为'10:36:36'。
库软件包版本为'7.0.100.0'。
库组件版本为'35.0.0'。
控制器不使用可编程 FPGA。
控制器的版本号为'4'(0x00000004)。
控制器的插入长度为"0"(0x00000000)。
此实用程序将尝试重置控制器。
此实用程序已成功重置控制器。
 
---- [打印重置命令硬件日志文件]-----------------
 
扫描路径将通过切换 JTAG TRST 信号进行复位。
控制器是具有 USB 接口的 FTDI FT2232。
从控制器到目标的链路是直接的(不带电缆)。
该软件配置为 FTDI FT2232功能。
控制器无法监控 EMU[0]引脚上的值。
控制器无法监控 EMU[1]引脚上的值。
控制器无法控制输出引脚上的时序。
控制器无法控制输入引脚上的时序。
扫描路径链路延迟已精确设置为"0"(0x0000)。
 
---- [用于从 PLL 生成的 JTAG TCLK 输出的日志文件]---
 
没有用于对 JTAG TCLK 频率进行编程的硬件。
 
---- [测量最终 JTAG TCLKR 输入的源和频率]----
 
没有用于测量 JTAG TCLK 频率的硬件。
 
---- [对 JTAG IR 和 DR 执行标准路径长度测试]-----
 
此路径长度测试使用64个32位字的块。
 
JTAG IR 指令路径长度测试成功。
JTAG IR 指令路径长度为4位。
 
JTAG DR 旁路路径长度测试成功。
JTAG DR 旁路路径长度为1位。
 
---- [对 JTAG IR 执行完整性扫描测试]-----
 
此测试将使用64个32位字的块。
该测试将仅应用一次。
 
使用0xFFFFFFFF 进行测试。
扫描测试:1、跳过:0、失败:0
使用0x00000000执行测试。
扫描测试:2、跳过:0、失败:0
使用0xFE03E0E2执行测试。
扫描测试:3、跳过:0、失败:0
使用0x01FC1F1D 进行测试。
扫描测试:4、跳过:0、失败:0
使用0x5533CCAA 进行测试。
扫描测试:5、跳过:0、失败:0
使用0xAACC3355进行测试。
扫描测试:6、跳过:0、失败:0
所有值均已正确扫描。
 
JTAG IR 完整性扫描测试成功。
 
---- [在 JTAG DR 上执行完整性扫描测试]-----
 
此测试将使用64个32位字的块。
该测试将仅应用一次。
 
使用0xFFFFFFFF 进行测试。
扫描测试:1、跳过:0、失败:0
使用0x00000000执行测试。
扫描测试:2、跳过:0、失败:0
使用0xFE03E0E2执行测试。
扫描测试:3、跳过:0、失败:0
使用0x01FC1F1D 进行测试。
扫描测试:4、跳过:0、失败:0
使用0x5533CCAA 进行测试。
扫描测试:5、跳过:0、失败:0
使用0xAACC3355进行测试。
扫描测试:6、跳过:0、失败:0
所有值均已正确扫描。
 
JTAG DR 完整性扫描测试成功。
 
[结束:德州仪器 XDS100v2 USB 调试探针_0]
还可以! 让我们在调试中进行编程。
然后、我尝试通过按"Debug"对目标进行编程。  我遇到错误。
连接到目标时出错。  无法与设备通信。 请检查您的连接。   
我按了取消
 
   
在控制台中、出现以下情况: Cortex_M4_0:连接到目标时出错:无法与器件通信。 请检查您的连接。
 
我对下一步做什么感到损失。 它通过了连接测试、但在调试中报告连接到目标时出错。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    为适配器电缆布线。

    尝试使用 Debug 进行编程时的错误消息。

    我按下 CANCEL 并得到:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    下面是我们具有 JTAG 接口的原理图部分:


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果您打开目标配置并转至"Advanced"选项卡、它是否与此类似。 (我使用的是 TI XDS100v2、而不是 Blackhawk)。

    另一个问题是 JTAG 对反射和串扰非常敏感。 增加电缆长度通常会导致问题。 我相信 Blackhawk 具有20引脚至 14引脚的转换器。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    看起来我具有相同的目标配置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Bob、您好!
    感谢您提供屏幕截图。 我的配置看起来是相同的。

    关于"我相信 Blackhawk 具有20引脚至14引脚的转换器。" 遗憾的是、我们的14引脚连接器未连接到其标准、这就是我制作适配器电缆的原因。 关于串扰、我想尽量降低接口速度。 有什么想法吗?

    我的帖子的真正问题是、为什么我的连接通过了连接测试、但在尝试对目标进行编程时失败? 在这两种情况下、可能会有什么不同、让我知道什么是错误的?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    降低 JTAG 时钟速度无助于串扰或反射、因为它是信号边沿中的能量、而不是问题所在的基频时钟。 TCK 上的正确端接可最大限度地减少反射。 短电缆或交替接地将最大限度地减少串扰。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我正尝试交叉检查您提供的表格和您提供的原理图。 您是否从 XDS100V2连接 TRST (测试复位)以复位 TM$C1294? 如果是、请将其断开。 它们是不同的信号。 TRST 不在 TM4C1294器件上使用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Bob、您好!
    很抱歉、因为我要切换回其他任务、所以我暗了几天。
    感谢您查看我的原理图并找到并建议更改 TRST。

    不幸的是,没有快乐。

    我的备注:

    我使用修改后的电缆测试了 Black Hawk 与目标之间的连接、"Test Connection"通过、但对目标进行编程失败、错误与上述相同。


    我已断开 ARM JTAG 连接器上的 TRSTn 引脚3并重新测试并获得相同的结果。 器件通过"测试连接"、但无法对器件进行编程、错误为"Cortex_M4_0:连接到目标时出错:无法与器件通信。 请检查您的连接。"


    为了进一步了解自我 "测试连接"和编程的工作原理、我做了一个实验。供参考。 如果我断开 JTAG 插头与目标 PCAssembly 的连接、"测试连接"会报告如下故障:

    [开始:德州仪器 XDS100v2 USB Debug Probe_0]
    
    执行以下命令:
    
    %CCS_base%/common/uscif/dbgjtag -f %boarddatafil文件%-RV -o -F inform、logfile=yes -S pathlength -S integrity
    
    [result]
    
    
    --- [打印电路板配置路径名]---------------
    
    C:\Users\Lee\AppData\Local\TEXASI~1\CCS\
    ccs740\0\BrdDat\testBoard.dat
    
    -- [打印重置命令软件日志文件]-----------------
    
    此实用程序已选择100或510类产品。
    此实用程序将加载适配器'jioserdesusb.dll'。
    库构建日期为"2017年11月6日"。
    库构建时间为'10:36:36'。
    库软件包版本为'7.0.100.0'。
    库组件版本为'35.0.0'。
    控制器不使用可编程 FPGA。
    
    硬打开控制器时出错。
    
    ---- [发生了错误,该实用程序已中止]-----
    
    此错误由 TI 的 USCIF 驱动程序或实用程序生成。
    
    值为'-180'(0xffff4c)。
    标题为"SC_ERR_CTL_NO_TRG_POWER"。
    
    说明:
    控制器检测到目标功率损耗。
    用户必须为目标打开或连接电源。
    
    [结束:德州仪器 XDS100v2 USB 调试探针_0]
    

    当我尝试拔下连接器以在调试模式下进行编程时、错误对话框为:

    连接到目标时出错:
    无法与设备通信。 请检查您的连接。 

    我无法理解如何进行进一步测试的猜测。  (编辑的行。)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否检查 Blackhawk 的 Vcc_Target 是否为3.3V、以及 TM4C1294引脚70 (复位)是否为3.3V?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 USER="Forrest Erickson">器   件通过了"测试连接"、但无法对器件进行编程、错误为"Cortex_M4_0:连接到目标时出错:无法与器件通信。 请检查您的连接。"

    您已经两次报告了这一关键(对比)发现-以及这一冲突 (几乎肯定) "开始" 解释!    如果"测试连接"报告中存在(任何)信任、则供应商"确认"是否存在3V3的指示证明存在问题。

    以下是我建议对这种"解释?"采取(适当)开头的方法  (是否 可以相信(通过)"测试连接"报告?)

    • 当"测试连接"通过时-不应该问它:它是"直接"还是"包括"、作为(更标准的)"编程尝试"?   我的小组注意到、(此处的其他人)也收到了来自此"连接测试"的"通过"-但正如您一样-他们的编程尝试 失败!
    • 正确 的示波器电容器 (对齐和均衡) - 在  "测试连接"和"编程尝试"下正确地"对比/比较"关键信号 可能会证明是富有洞察力的。   您(真的)需要"硬数据"-您不需要?    高度'加密'诊断代码的进展显示为'小'(即绝对没有价值)-您(似乎)"留给您自己的设备"来克服此类问题...  
    • 我会尝试( 仅限于)最小、最简单的(供应商提供的示例程序)"计划"、以确保(您的)计划不会"协助/教唆"计划失败。
    • 我没有注意到(正确的)外部上拉电阻器@每个 JTAG 引脚。   依赖(过高的值) MCU 上拉电阻器-毫无意义。
    • 75Ω 供应商的 Bob 对"检测"有一个很好的看法、即在 JTAG 接头和 MCU 的 JTAG 引脚之间添加了33k Ω 电阻器、这已证明"提高了信号的稳健性"。
    • 对我公司/我的想法来说- Segger "J-Link"证明(远)优于此处提供的 JTAG 探头。  (这是畅销的此类探头-早已在这里存在-可在"教育折扣"(不要求您"制造"学生身份)下获得、从而显著降低成本。   此外-使用"供应商不可知"工具可以将您的使用打开到广泛的 ARM MCU -是否"明智"地(进一步)将您自己锁定到"支持"您的编程工作的器件?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已经检查并发现两者都是3.3V。

    我应该解释另一件事。 使用 Launchpad EX=-TM4C1294XL 作为编程器对目标进行编程没有任何问题。 我移除了 Launch Pad 上的引脚对引脚跳线。 我制作了一根电缆、将 JTAG 信号从 Launchpad 传输到我们的目标定制 PCAssembly。

    我们打算将购买的货架编程器用于我们的生产、而不是使用带有评估板的家庭酿造装置。 这就是我试图让 Blackhawk 工作的原因。


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这可能是重复的。 我今天早些时候的答复没有出现。

    我用示波器观察到了 Vcc_Target 和 Reset。 这两个电压均为3.3V 且无噪声。

    更多信息。 使用 EK-TM4C1294 Launchpad、我可以对我们的客户 PCAssembly 硬件进行编程。 我尝试解决的问题是、Blackhawk 通过测试连接但在实际编程时失败的原因。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我有 Blackhawk 编程我们的定制 PCAssembly。  我连接的适配器没有问题。 问题出在或软件项目中的配置设置。

    我搜索了设置配置的示例、找到了本教程:

    www.youtube.com/watch

    我使用了菜单 View>Target Configurations、发现目标视图有两个.ccxml 文件。

    当我选择之前未见过的文件时、它仍然显示一个 Stellaris JTAG 器件。 因此、我更改为 XDSV100V2、并测试了通过的连接。 当我按下调试来对目标进行编程时、我成功了。

    以下是两个文件的视图:

    一直都有线索。 在之前的未连接对话框图像中、您可以看到它仍然显示 Stellaris 不是 XDSV200V2。
     当编程成功时、我将展示对话框的图像、您可以在对话框中看到"XDS100V2 USB 调试探针"。


    我不知道为什么我们的软件中有两个.ccxml 文件。 完成此项目的人员不再与我们公司合作。




  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    一直都有线索。 在之前的未连接对话框图像中、您可以看到它仍然显示 Stellaris 不是 XDSV200V2。

    这是编程成功时的对话框、您可以在对话框中看到"XDS100V2 USB 调试探针"。

    我的问题(无法使用 Blackhawk 进行编程)已解决。  

    虽然我认为来自 CCS7的未连接对话消息对查找问题毫无用处、因为它太模糊了。 它没有帮助我专注于并找到真正的问题。

    如果有一些 TI 人员阅读此内容、请让开发人员提供有关加载程序失败原因的更有用的说明。