ZHCAC06B January   2022  – January 2023 TMS320C28341 , TMS320C28342 , TMS320C28343 , TMS320C28343-Q1 , TMS320C28344 , TMS320C28345 , TMS320C28346 , TMS320C28346-Q1 , TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F2802-Q1 , TMS320F28020 , TMS320F28021 , TMS320F28022 , TMS320F28022-Q1 , TMS320F28023 , TMS320F28023-Q1 , TMS320F28026 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027 , TMS320F28027-Q1 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28030 , TMS320F28030-Q1 , TMS320F28031 , TMS320F28031-Q1 , TMS320F28032 , TMS320F28032-Q1 , TMS320F28033 , TMS320F28033-Q1 , TMS320F28034 , TMS320F28034-Q1 , TMS320F28035 , TMS320F28035-Q1 , TMS320F28050 , TMS320F28051 , TMS320F28052 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28053 , TMS320F28054 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F28055 , TMS320F2806-Q1 , TMS320F28062 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28063 , TMS320F28064 , TMS320F28065 , TMS320F28066 , TMS320F28066-Q1 , TMS320F28067 , TMS320F28067-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069 , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28232 , TMS320F28232-Q1 , TMS320F28234 , TMS320F28234-Q1 , TMS320F28235 , TMS320F28235-Q1 , TMS320F28332 , TMS320F28333 , TMS320F28334 , TMS320F28335 , TMS320F28335-Q1 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S

 

  1.   C2000 MCU JTAG 连接调试
  2.   商标
  3. 1什么是 JTAG?
  4. 2常见的 JTAG 调试探针
  5. 3JTAG 链中的多个器件
  6. 4JTAG 连接调试流程
    1. 4.1 整体调试流程
    2. 4.2 高压隔离检查流程
    3. 4.3 JTAG 调试主流程
  7. 5详细的流程步骤信息
    1. 5.1 隔离预检查流程
    2. 5.2 JTAG 调试流程
  8. 6参考文献
  9. 7修订历史记录

JTAG 调试流程

  1. 使用板载调试探针:
    1. 是:许多 C2000 MCU 板均在 PCB 上实现了 JTAG 调试探针。除非有应用要求,否则 TI 建议使用板载调试探针进行开发。XDS100 和 XDS110 是两款可在 TI C2000 评估模块 (EVM) 上找到的目标调试探针。
    2. 否:如果电路板设计是定制的并且使用独立调试探针,则在继续调试流程之前,需要先验证 JTAG 接头和无源器件的实现。器件特定数据表中包含参考原理图,其中提供了正确的上拉/下拉值,以确保器件正常运行。如果 PCB 由 TI 制造,则可以跳过此步骤。
  2. 电源正常 LED 亮起:此步骤旨在验证目标是否由电源正确供电,而无需使用电压表等任何外部设备。所有 TI C2000 开发板都有 LED 指示正在为 MCU 供电。其他 LED 可用于指示一些开箱即用的代码正在成功运行。有关这些 LED 的位置和功能,请参阅调试中 EVM 的器件特定用户指南。
  3. 更换电缆:如果未观察到电源正常 LED,则 EVM 的电源可能存在问题。许多 TI EVM 不仅使用 USB 连接来提供从主机到目标的调试路径,而且还使用 USB 的 5V 电压来为 EVM 供电。简单的检查可以是更改 USB 电缆,以确保不会出现这种问题。如果主机的功率不足,也可以使用插电的 USB 集线器。
  4. 切换到外部电源:如果电路板由 TI 制造,但板载电源无法提供适当电平的电源,并且 USB 电缆已知良好,则可以切换到 EVM 的外部电源。要了解是否支持此功能,请参阅 EVM 的器件特定用户指南。在这种情况下,需要探测电路板上的一些电压,以确定是电源由问题,还是 PCB 上的某个元件会抑制 MCU 的电压。
  5. 出现在器件管理器中:为了让 JTAG 调试探针与 PC 通信,需要安装驱动程序文件。这通常与安装 Code Composer Studio (CCS) 同时发生。要验证驱动程序是否已成功安装,请将 PC 连接到 JTAG 调试探针并开机。然后转至“Control Panel”→“Device Manager”(图 5-1) 并找到相关的调试探针。
    GUID-20211118-SS0I-LDC1-0QG9-L8NTQW97KZQG-low.png图 5-1 Windows 10™ 器件管理器显示成功检测到 XDS110 调试探针
  6. 对仿真控制器进行重新编程:此步骤确保用作仿真控制器的器件具有正确的固件。
    1. XDS100v1:主机器件是 FTDI FT2232 遵循重新编程指南
    2. XDS100v2:主机器件是 FTDI FT2232 遵循重新编程指南
    3. XDS110:主机器件是 TI MCU TM4C1294NCPDRI3R 遵循重新编程指南
  7. 安装器件驱动程序:主机 PC/MAC 系统中没有显示调试探针的另一个可能原因是未安装驱动程序。通常,驱动程序会在安装 CCS 时安装,但请参阅调试探针产品页面,以了解可能的驱动程序。
  8. MCU 上的 TRSTn 信号是否为高电平:此步骤会检查 CCS 尝试连接到目标时是否存在特定行为。其中一个首要操作是测试复位 (TRSTn) 将变为高电平无效,从而激活到外部调试探针的内核调试连接。如果 TRSTn 在 CCS 连接目标操作期间没有改变状态,则需要检查调试探针,以确保器件级和主机操作系统内部是否都配置正确。
  9. 检查目标配置:目标配置文件 (.ccxml) 包含连接到目标器件和在用 JTAG 调试探针所需的信息。要查看当前目标配置,请在 CCS 的“View”选项卡下选择“Target Configurations”(图 5-2)。双击与要调试的目标对应的 .ccxml。如果正确安装了调试探针的驱动程序并且选择了正确的选项,则“Test Connections”按钮 (图 5-3) 应该可供使用并准备好执行。此测试的数据日志可以帮助查明连接问题的原因,请勿跳过此步骤。请注意,许多示例工程作为 C2000Ware 或 controlSUITE 的一部分进行安装,它们具有一个"target configs"文件夹。这个文件夹中包含一个 .ccxml 文件,该文件是基于默认 EVM 和调试器的假设预先创建的。当使用“Debug”图标启动调试会话时,会使用此文件。如果“Debug”按钮是启动调试会话所需的方法,则需要修改“target configs”中的 .ccxml。
    GUID-65F4B761-99F2-44DC-9B27-E7A3881BC7BA-low.png图 5-2 目标配置视图
    GUID-E374B415-91A0-44DF-9450-77E0F5AEEA3B-low.png图 5-3 测试连接
  10. 修改 CCS“On Connect”操作:有两种方法可以从 CCS 启动调试会话。一种方法是右键点击上一步中所需的目标配置,然后选择“Launch Selected Configuration”。完成此操作后,可以通过右键点击 CPU 内核并选择“Connect Target”来连接目标 CPU。另一种方法是使用“Debug”按钮 (图 5-4),使用该按钮时不仅会启动配置,而且还会建立连接,将目标程序文件加载到存储器中,并执行到“main”。这些设置可以修改,但这是默认操作。可以通过以下方式修改默认操作:右键点击使用的 .ccxml 文件或从“Debug”按钮旁边的箭头下拉菜单中选择“Debug Options”,并更改“Target”子菜单中的自动运行和启动选项。在本文档的故障排除阶段,建议使用以前的“连接目标”方法。这有助于查明并非纯粹与 JTAG 相关、而是由代码执行或其他系统交互引起的任何问题。验证系统在启动和连接目标时保持稳定后,使用“Debug”按钮来处理这些步骤。
    GUID-A074F1C5-87AD-43DC-BD2F-D14C9DF0B333-low.gif图 5-4 Code Composer 的调试按钮
  11. XRSn 状态:观察示波器上的 XRSn,当器件运行时,XRSn 应该为高电平无效。如果 XRSn 为低电平或从低电平到高电平再到低电平的脉冲,则可能表示存在多个问题之一。如果脉冲是周期性的,则可能是 MCU 上的看门狗 (WD) 导致复位,因为它未得到处理或未被禁用。这种切换行为本身并不是坏事,因为它表明 MCU 正在加电并执行代码,但这可能会导致调试流程不稳定。如果存在不确定的脉冲或 XRSn 始终为低电平,则可能表示由于电源电压问题或 PCB 本身上的某些问题而触发内部欠压复位 (BOR)。请注意,这与前面提到的静态电源检查不同。这两个潜在问题也可能在代码执行期间发生。它们可以断开调试会话或阻止其可靠连接。
  12. 更改引导模式:检查硬件文件,以确保引导模式引脚处于与预期模式对应的正确状态。如果 XRSn 引脚表现出上述行为,或者如果闪存存储器的状态未知,则进入等待引导模式将使器件进入允许读取存储器和寄存器的安全状态。如需更详细地了解等待引导模式所需的引导引脚和选择,请查看器件特定数据表的引导 部分。
  13. “调试状态丢失”CCS 消息:即使 XRSn 处于所需的高电平无效状态,仍然存在会阻止或终止调试连接的问题。此行为通常与在器件上执行的代码有关。因此,还建议将器件置于等待引导模式。
  14. 检查 VREG 设置:为器件提供推荐工作条件之外的任何电压可能会导致发生掉电复位 (BOR) 事件。在这些情况下,测量器件的电压轨会有所帮助。可以根据 C2000Ware 或 controlSUITE 中的原理图文件来验证器件电源轨的探测点。如果在代码执行期间发生此问题,则电源可提供给器件的电流大小可能会存在问题。如果正在调试的 EVM 是 TI 制造的器件,则根据设计,从外部电源生成的任何电源轨都应该正常,此时将进行检查以验证电路板的完整性是否良好。
  15. 检查时钟(JTAG 时钟/系统时钟):测量并确认 JTAG 时钟和晶体或外部时钟源是否符合数据表定义的电平。检查制造商的数据表中是否有调试探针。这是确保为器件提供正常工作所需的输入的最后一步。许多 Piccolo™ 类器件都具有内置的零引脚振荡器。在外部时钟不确定的情况下,将此振荡器用作功能时钟会有所帮助。如需了解可用的时钟源及其容差,请参阅器件特定数据表。虽然 JTAG 时钟通常在初始设置文件中保持其默认速度,但降低时钟速率会有所帮助,可以看看这样是否会改善初始连接或提高连接稳定性。对于定制设计的 PCB,这可能特别有用。
  16. 第二个器件检查:如果在执行上述所有步骤后无法解决问题,则可以使用第二个 PCB/EVM 来确定问题是否是一个 EVM 的局部问题。如果第二个器件以相同的方式发生故障,则可能存在设置问题或 EVM 的外部发生问题。
  17. 运行期间\运行后断开连接:如果器件被密码锁定,代码安全模块 (CSM) 中的仿真代码安全逻辑 (ECSL) 将禁用到器件的 JTAG 仿真,从而导致 JTAG 连接问题。如上文所述,此问题可能发生在连接之前,但如果在调试器连接期间访问了存储器的安全区域,也可能发生在调试期间。当等待引导模式允许连接时,它不会在调试期间纠正访问安全存储器的问题。要纠正此问题,必须使用已知的密码来解锁 CSM。要了解如何锁定和解锁器件,请参阅 CSM 模块上的器件特定数据表和相关步骤。如果不知道密码,则无法解锁器件。调试将限制为不安全的区域。
  18. 在 E2E.ti.com 上发帖提问:在此流程结束后,如果通过 JTAG 连接器件或与器件保持连接时仍存在问题,建议您将问题或疑问发布到我们的 TI C2000 工程师对工程师论坛。发帖时,除了您的问题外,请提供以下信息:
    1. 帖子的主题/标题:JTAG 连接问题 -(在此处插入器件型号)
    2. CCS 版本
    3. 使用的调试探针
    4. 目标类型:TI 制造的 EVM 或定制 EVM
    5. 确认已执行本指南中的步骤
    6. JTAG 连接的定制电路板原理图(如果不是 TI EVM 且在可能的情况下)