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:通过 XDS560v2 (CCS 10.3.1)进行调试时读取寄存器时出现问题(错误-2030)

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1165379/tm4c1294ncpdt-trouble-reading-registers-error--2030-when-debugging-via-xds560v2-ccs-10-3-1

器件型号:TM4C1294NCPDT

问题:

当我尝试使用 XDS560v2或 XDS200进行调试时、会出现"Trouble Reading Register"错误、调试会话不起作用。

配置:

Windows 10
CCS 10.3.1

XDS560v2 (USB+以太网模型)

SW-TM4C-2.1.4.178、带补丁1.0

尝试的解决方案:

已重新启动计算机

已重新安装 CCS

将源代码控制中的分支更改为以前有效的提交

删除了.launches 文件  

删除了.launches 文件夹(以前为我工作过)

更新了 JTAG 固件

更改了 USB 端口

在 BH XDS560v2和 SD XDS200之间进行了更改

其他信息:

这种配置自7月以来一直运行良好。 几个月以来、我一直能够毫无问题地进行开发和调试。 我不确定是什么导致了这个问题。 不过,我曾有三次,可能是四次。 我过去能够解决这个问题。 这次不是。 上次发生这种情况时、我删除了.launches 文件夹、似乎修复了它。 其他时间大约是1.5年前、我不记得我是如何解决的。  我以前也遇到过 CCS 9.2.0的这个问题。  

我使用了 Blackhawk 提供的配置实用程序、我的 XDS560v2通过了所有测试。 它和 XDS200还通过了 CCS 调试配置菜单中的连接测试、因此我认为我的硬件正常。 我确保我的调试配置具有正确的器件、并将其设置为默认和活动。 XDS560v2未处于安全模式。  

全控制台输出:  

CORTEX_M4_0: GEL Output:
Memory Map Initialization Complete
CORTEX_M4_0: Trouble Reading Register REG_ENDIAN: (Error -2030 @ 0xF) Attempted to access an unknown or invalid register. Confirm the register is valid and accessible, and retry the operation. (Emulation package 9.3.0.00058)
CORTEX_M4_0: Trouble Reading Register SP: (Error -2030 @ 0xF) Attempted to access an unknown or invalid register. Confirm the register is valid and accessible, and retry the operation. (Emulation package 9.3.0.00058)
CORTEX_M4_0: Trouble Reading Register SP: (Error -2030 @ 0xF) Attempted to access an unknown or invalid register. Confirm the register is valid and accessible, and retry the operation. (Emulation package 9.3.0.00058)
CORTEX_M4_0: Trouble Reading Register SP: (Error -2030 @ 0xF) Attempted to access an unknown or invalid register. Confirm the register is valid and accessible, and retry the operation. (Emulation package 9.3.0.00058)

CCS 位于另一台计算机上、因此我必须手动键入它。 对任何错误表示歉意。 前两行为黑色文本;其余为红色。 第一行仅出现两条黑色和第一条红色线。 每次按下 Resume  按钮都会添加一行 Register SP 错误。  

很漂亮的酒店  

谢谢、

Paul

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

    您好 Paul、

    我怀疑器件已锁定、需要使用 JTAG 用户指南 https://www.ti.com/lit/pdf/spma075第5.3.2节中概述的步骤解锁

    请尝试一下、如果您能够获得调试访问权限、请告诉我。

    此致、

    Ralph Jacobi

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

    我在我的任一 JTAG 上都看不到复位按钮。 如果您参考 uC、查看原理图、它看起来就像我们将!RST 连接到高电平、因此无法将其切换为低电平。  

    编辑:
    我看到 JTAG 连接器上有一个!RST。 我们可以通过 JTAG 将 uC 上的!RST 引脚拉低

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

    此外、我总共有三个板、我尝试过的两个板都会导致此问题。

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

    您好 Paul、

    您将需要以某种方式切换 RESET 引脚、建议在设计中不要将其连接至高电平、因为在切换时会出现与此类似的重要情况。 如果 JTAG 复位未连接到 MCU 复位引脚、这可能不起作用-我不清楚这部分连接。

    如果电路板由于软件错误而锁定、则可能会在运行相同软件的每个电路板上发生。

    如果您有一个未加载软件的新电路板、并且工具可以与之配合使用、则 TM4C MCU 会进入锁定状态。

    此致、

    Ralph Jacobi

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

    为了清零,!RST 直接连接到 JTAG 连接器。 但是、当未连接 JTAG 时、它有一个10k 上拉电阻器。  

    根据您链接到的文档中的说明、我需要切换此行。 但这已经是 JTAG 连接器的一部分。 那么、我需要在 JTAG 和 uC 之间安装一个按钮吗? 因为!RST 信号已经被控制(或者至少是部分)了我们使用的10引脚 JTAG 连接器。 我认为 JTAG 本身应该能够控制该引脚。  

    我有三个具有不同软件状态的板。 我一直在开发的软件上有当前的软件。 板2上有一个旧版本的软件、不确定有多旧。 第三板没有 LED 活动、因此我认为 UC 没有代码。 所有三个电路板都无法以类似的方式进行调试。  

    电路板3的错误

    Trouble Removing Breakpoint with the Action "Finish Auto Run" at 0xbe58: (Error -2030 @ 0xF) Attempted to access an unknown or invalid register. Confirm the register is valid and accessible, and retry the operation. (Emulation package 9.3.0.00058)
    作为第一个错误(而不是原始 POST 中的寄存器 REG_ENDIAN)、其余输出是相同的。 我还在板1上看到了此错误、以及"添加断点时遇到问题..."之类的错误 但是,我已删除所有断点;View->breakpointsis blank。 那么、这是另一个奇怪的错误。

    我目前无法修改此硬件。 我还可以探索其他途径吗?  

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

    您好 Paul、

    由于您认为其中一个电路板没有 MCU 固件、因此问题可能与器件锁定无关。 我将了解工具专家是否对可能与我最初猜测不同的根本原因有任何见解。

    此致、

    Ralph Jacobi

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

    尊敬的 Paul:

    [引用 userid="541692" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1165379/tm4c1294ncpdt-trouble-reading-registers-error--2030-when-debugging-via-xds560v2-ccs-10-3-1 ]I 使用了 Blackhawk 提供的配置实用程序,而我的 XDS560v2通过了所有测试。 它和 XDS200还通过了 CCS 调试配置菜单中的连接测试、因此我认为我的硬件可以。

    基于上述内容、我们可以确认调试探针正常、PC <->探针<->器件之间的低级 JTAG 通信正常。 该问题在器件级别更高、通常是器件状态问题或一些配置问题。 奇怪的是、一切正常、然后突然出现了问题。

    其他一些故障排除提示可供尝试:

    删除目标缓存文件: https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_troubleshooting.html#delete-target-cache-files

    使用新的工作区文件夹。

    最好尝试将 CCS 版本更新为最新版本(12.1)

    谢谢

    Ki

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

    fsclean 没有帮助、也没有使用新工作区。 我将看到是否可以安装新版本的 CCS。 这可能需要一些时间。 感谢您的建议。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="541692" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1165379/tm4c1294ncpdt-trouble-reading-registers-error--2030-when-debugging-via-xds560v2-ccs-10-3-1/4384942 #4384942"]我将了解是否可以安装新版本的 CCS

    请告诉我们这是如何实现的。 我不确定更新的 CCS 版本是否会有所帮助。 但是、如果您使用最新版本的工具、调试问题总是会更容易。

    谢谢

    Ki

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

    好的、我刚刚成功安装了 CCS 12.1.0。 我尝试调试了三次、得到了相同的错误列表。 我确保在安装过程中检查我的处理器系列(TM4C12X 或类似产品)以及 SD 和 Blackhawk 调试探针。  

    Paul

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

    感谢您的试用。  

    嗯... 我似乎没有任何建议。 如果我回忆正确、您正在使用定制板。 您可能有一个 TI 电路板、例如 LaunchPad、您可以使用它进行测试吗?  

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

    是的、我正在使用定制板。  

    实际上、我可以借用一个上面有相同 uC 的 launchpad。  

    我尝试了三次调试。 每次出现"Trouble Removing Breakpoint"/"Finish Auto Run" -2030错误。 但是、每次我按下"恢复"、代码似乎都在运行。 我认为它正在运行的唯一原因是、如果我暂停、它位于 I2C 状态机中、等待发送一些数据。 我以前从未使用过此 Launchpad、但我假设它具有不同或不存在 I2C 连接、因此我的外设无法正常工作是有道理的。 如果我发现任何相关信息、我将很快对其进行调查并编辑我的帖子。  

    编辑:我正在使用的 I2C 引脚会导致未组装的 X11  

    我在printf代码顶部附近添加了一条语句、并尝试第四次进行调试。 我遇到了常见的"Trouble Reading Register REG_ENDIAN"-2030错误、然后出现了"Trouble Reading Register SP"-2030错误、但代码似乎在第三次恢复后运行、我能够暂停并看到我再次等待代码的 I2C 部分。 但是,我没有看到所需的控制台输出printf。  

    不确定要做什么。 我会说、它会感觉我得到的误差是随机的。 不同的文本、但总是-2030年。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="541692" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1165379/tm4c1294ncpdt-trouble-reading-registers-error--2030-when-debugging-via-xds560v2-ccs-10-3-1/4393814 #4393814"]

    实际上、我可以借用一个上面有相同 uC 的 launchpad。  

    我尝试了三次调试。 每次出现"Trouble Removing Breakpoint"/"Finish Auto Run" -2030错误。

    [/报价]

    只需确认-此错误发生在目标连接上(任何程序加载之前)? 还是在您加载程序并 运行它之后?

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

    是的、在目标连接上。 我可能是错的、但我认为该程序在该点加载、但尚未执行。 很明显、以下是流程:

    1. 按 DEBUG
    2. 完成了几个进度条
    3. 调试器在 main 暂停、控制台输出具有 GEL 输出:"Memory Map Initialization Complete"和"Trouble Reading Register/Trouble Removing breakpoint-2030 error
    4. 按下 RESUME (恢复)会在自定义板上产生1次额外的错误、或者在 launchpad 上(第一次按下时会产生一个额外的错误、第二次按下时会产生代码执行)或(第一次按下 RESUME 时会产生代码执行)
    5. (仅限 Launchpad)代码正在运行、我可以暂停并看到我正在等待 I2C 代码、但调试会话仍会混乱、因为没有控制台输出(除上述内容外)、因为应该有(printfs)个控制台输出
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    基于上述内容、您需要重新执行项目调试会话。

    Pleasse 尝试一个无项目调试会话-也被称为手动启动:

    https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_debug-main.html#manual-launch

    手动启动后、调试器将启动、但保持断开状态。 您需要手动连接目标。 请检查这两个步骤是否正确执行。

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

    我记得以前没有任何骰子尝试过这种方法。 我不清楚这个过程、所以让我们来看看。

    步骤1选项1、我的 CCS 没有选项"Launch Selected Configuration"。  我可以将 Debug 悬停在 As、然后选择"1 Code Composer Debug Session"或"Debug Configurations..." 前者似乎像往常一样启动,结果也一样。 后者会弹出"Debug Configurations"窗口。 我只有一个调试配置、因此我只需选择该配置、然后按 Debug、看起来与正常配置没有什么不同。  

    另一个步骤1选项("双击所需的目标配置文件以打开目标配置编辑器并单击 调试 启动按钮 )" 的结果与往常相同。

    因此、如果我正确执行、手动启动似乎没有什么不同。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="541692" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1165379/tm4c1294ncpdt-trouble-reading-registers-error--2030-when-debugging-via-xds560v2-ccs-10-3-1/4395352 #4395352"]另一个步骤1选项("双击所需的目标配置文件以打开目标配置编辑器并单击 调试 启动按钮 )"[/quot]

    实际上、我希望您尝试以下视频:

    e2e.ti.com/.../manual_5F00_launch.mp4

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="2210" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1165379/tm4c1294ncpdt-trouble-reading-registers-error--2030-when-debugging-via-xds560v2-ccs-10-3-1/4395405 #4395405"]以下视频:

    请注意、双击可放大视频。

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

    非常感谢、这一点非常清楚。

    我在 launchpad 上使用两个探针进行了试验。 两者的结果相同、我可以在没有错误代码的情况下进行连接和运行。 但是、CCS 中仍然没有控制台输出、暂停调试会产生与您的视频相同的窗口、因为我无法看到任何代码("没有可用的调试信息、或程序代码之外的代码。")。  

    接下来、我在定制板上尝试了 XDS560v2。 结果与 launchpad 上的结果相同、没有错误、但也没有真正的调试。 代码将会运行(电路板上的 LED 将正确闪烁、并在我暂停调试时正确暂停)、但我无法看到控制台输出、暂停不会显示代码中的位置、并且"Register"视图无法读取任何寄存器。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="541692" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1165379/tm4c1294ncpdt-trouble-reading-registers-error--2030-when-debugging-via-xds560v2-ccs-10-3-1/4395437 #4395437">但是、CCS 中仍然没有控制台输出、暂停调试会导致出现与您的视频相同的窗口、因为我看不到任何代码("没有可用的调试信息、或程序代码之外的代码。")。  [/报价]

    本视频中的步骤仅启动调试会话并连接到目标。 没有程序加载到目标。 也不加载调试符号。 因此、您不会获得任何调试可见性。 因此、您看到的消息是预期的。

    [引用 userid="541692" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1165379/tm4c1294ncpdt-trouble-reading-registers-error--2030-when-debugging-via-xds560v2-ccs-10-3-1/4395437 #4395437">接下来,我在定制板上试用了 XDS560v2。 结果与 launchpad 上的结果相同、没有错误、但也没有真正调试。

    这也是我们所期待的。 因为也没有加载任何调试符号。

    [引用 userid="541692" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1165379/tm4c1294ncpdt-trouble-reading-registers-error--2030-when-debugging-via-xds560v2-ccs-10-3-1/4395437 #4395437"]但我看不到控制台输出

    您提到-2030错误、对吧?

    [引用 userid="541692" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1165379/tm4c1294ncpdt-trouble-reading-registers-error--2030-when-debugging-via-xds560v2-ccs-10-3-1/4395437 #4395437"]暂停不会显示代码中我所在的位置

    这是预期的、因为未加载调试符号

    [引用 userid="541692" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1165379/tm4c1294ncpdt-trouble-reading-registers-error--2030-when-debugging-via-xds560v2-ccs-10-3-1/4395437 #4395437"]并且"Register"视图无法读取任何寄存器。  [/报价]

    但是、您应该能够看到寄存器内容。 您在"Registers"视图中看到了什么?