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.

[参考译文] TMS320F280045:(错误-2131 @ 0x0)无法访问器件寄存器

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1119995/tms320f280045-error--2131-0x0-unable-to-access-device-register

器件型号:TMS320F280045
主题中讨论的其他器件:C2000WARE

在获得上一个主题的帮助后 、我能够在开发我的定制板方面取得很大进展、但我偶尔会出现"连接到目标时出错:(错误-2131 @ 0x0)无法访问器件寄存器。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包6.0.628.3)"。 我已经阅读过很多有关此错误的其他主题、但我的情况有些奇怪。

基本上、我可以为我的定制板加电、并通过我的 XDS200和 Blackhawk JTAG 隔离器启动调试会话。 但是、在停止调试器并尝试启动新会话(例如上载修改的代码)后、我有时(可能是四个会话中的一个)会收到错误。  一旦我看到该错误、它将一直存在、直到我完全对电路板进行下电上电。  

其他一些可能有用的线索:

  • 即使 通过拉低 XRSn 来复位也没有效果。
  • 在调试过程中、我通常控制同一电路板上的大型 SMPS。 但在 JTAG 会话过程中、我从未看到任何调试器问题。  当我暂停一个会话并尝试启动另一个会话时、该电源电路始终处于禁用状态。 因此、我不认为 EMI 是问题的原因。 我认为实际上是在没有几次激活 SMPS 的情况下发生的。 我也不认为 ESD 是一个因素。
  • 但是、即使在问题出现后、我的闪烁 LED 指示灯也会显示闪存中的代码正在按我的预期运行。
  • 到目前为止、我在所有三个定制板上都看到了这种行为。 我甚至对 MCU 进行了重新焊接、以确保它不是装配缺陷。 我上面链接的前一个线程显示了定制板上的 JTAG 连接、我相信我已经忠实地遵循了硬件指南。
  • 我尝试在 示波器上观察电源轨是否出现突降/凸点/尖峰、但 VDDIO 和 VDDA 上的电压不超过+/-100mV、Vdd 上的电压可能超过+/-40mV。

基本上、我无法将此行为与任何其他行为相关联。 感谢您的任何建议。

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

    尊敬的 Mike:

    当 LED 闪烁时、我假设您有从闪存运行的代码、并且电路板处于"闪存引导"模式。 您是否在"等待引导"模式下尝试过? 电路板处于"等待引导"模式时、您是否观察到相同的行为?

    谢谢、此致、

    桑托什

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

    您好、Santosh、感谢您的快速回复。

    是的、我的引导模式引脚(GPIO24和 GPIO32) 在电路板上有2K 的上拉电阻器、因此我应该一直处于闪存引导模式。

    在序列中的哪个点、您建议我将引导模式引脚设置为等待模式? 开始第一个调试会话之前? 在结束第一个调试会话后但开始另一个调试会话之前?

    此致、

    Mike

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

    Mike、

    我们可以尝试两个实验、

    1. 从开始设置'Wait-Boot'模式、启动调试会话、您可以加载代码并运行代码。 然后停止调试会话、重置电路板、并尝试再次连接。
    2. 按照您的正常顺序、当它无法连接时、将电路板置于"等待引导"模式、复位电路板并重新连接。

    如果您能够在上述两种情况下进行连接、请告诉我。

    谢谢、此致、

    桑托什

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

    您好、Santosh、

    昨天我花了更多的时间来完成这个项目、并再次将其进入不良状态、因此我通过将 GPIO24下拉至 GND、使用 XRSn 复位 MCU (所有这些都不会循环通电)、然后尝试启动另一个调试会话来尝试您的实验2。 行为无变化、收到与以前相同的错误消息。

    从那时起、我在 下电上电后将 GPIO24连接至低电平。 到目前为止、我还没有再次弹出错误-2131 、因此 Nut 我只需要在该错误之后几次重新启动调试器、所以我还不相信它实际上已经解决了这个问题。

    这告诉我们什么?

    对于实验1、我应该在整个过程中将 GPIO24保持在低电平、还是在复位之前返回闪存引导模式?

    此外、还可能存在一些奇怪的问题。  从 等待引导模式开始调试后、我在 CCS 中遇到了图形问题。 我已经设置了几个图形窗口、这些窗口在以前的调试会话中工作正常、但现在在启动新会话时、图形为空白、除了一些文本"当前 CPU 为空"、 这与此线程的屏幕截图中显示的内容类似。 如果我尝试从"tools"菜单中添加新的图形、我无法添加、图标将灰显。 我发现、恢复图形的唯一方法是重新启动 CCS、然后重新设置所有内容、这非常令人沮丧。 在我工作的两个小时内发生了两次这种情况。 不确定这是否与 JTAG 错误有关、但我以前从未见过这种情况。

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

    今天、即使 MCU 始终处于等待模式、我也开始收到该错误。 在发生错误时、仍然不会观察任何实际模式控制。

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

    您能否尝试任何 C2000Ware 示例、您是否看到相同的行为? 您是否使用看门狗计时器?

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

    您好、Santosh、

    我将 示例工程 led_ex1_blinky (位于 \C2000Ware_4_00_00\device_support\f28004x\examples\led\中)加载到我的工作区中。 为了将其与电路板配合使用、我更改 了其调试配置、以使用与原始工程相同的目标配置(因此它引用了正确的器件和调试工具)。 我验证了当电路板处于"正常"状态时、我可以加载闪烁项目、并使其中一个 LED 闪烁。

    我多次尝试停止并重新启动闪烁的调试会话、但没有看到它再次进入"不良"状态(同样、还没有确信它最终不会发生)。

    然后、我返回到调试我自己的项目、最终导致状态不佳。 然后、我尝试加载和调试闪烁项目、但看到完全相同的错误消息。

    至于 WD、我不会在源代码中使用它。  我使用的是默认 f28004x_codestartbranch.asm、我认为它会在我进入 main()之前禁用看门狗。 在调试时、我还使用默认的 f280045.gel 文件、该文件也会禁用看门狗(我认为)。

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

    Mike、

    是否可以在我的 setup/TI EVM 上重现此问题? 如果您可以共享可重现问题的 TRIM 项目、调试将会更容易?

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

    您好、Santosh、我在没有涉及我的定制项目的情况下(但仍在我的定制板上)设法进入了糟糕的状态。  下面是我看到的事件序列示例:

    1.为电路板加电。 XDS200调试器已连接。

    2.使活动项目/调试配置闪烁。 使用 CPU1_FLASH 编译配置。

    3.启动调试器。 会话成功启动,在 main()停止。

    4.恢复执行。 LED 按预期闪烁。 可以挂起、恢复、将断点设置为正常。

    5.通过按电路板上的 XRSn 按钮将 XRSn 置为有效。

    6.调试器立即挂起,显示“无源可用”。

    7.查看反汇编、查看我在 ESTOP0。 我还检查了 NMI 寄存器、但它们都是默认值。

    8. 停止调试会话。

    9.尝试启动新的调试会话。

    10.有时调试器会正常启动。 但我通常会得到 错误-2131 @ 0x0、它会一直持续到我循环通电为止。

    奇怪的是,即使我再次断言 XRSn,MCU 似乎仍然卡住(LED 不闪烁)。 只有下电上电时才有用。

    我已随修改后的 blinky 项目附加了一个 zip 文件、其中包括 F280045的目标配置。 不确定我的调试配置是在那里、还是在我的工作区中...

    现在、我想知道这个奇怪的状态是什么、即使是复位也似乎不起作用...

    e2e.ti.com/.../2112.led_5F00_ex1_5F00_blinky.zip

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

    至于尝试与 TI EVM 重复、我看不到这一点。  这种设置与 我的定制应用(不同的 MCU、不同的调试工具、不同的项目等)没有重叠。 如果有额外的时间、我将会看到我是否可以挖掘 F280049 LaunchPad ...

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

    Mike、

    感谢您发送代码。 我有带外部 xds200的 F28004x controlCARD。 我将尝试重现此问题。 如果 我们有办法在 TI EVM 上进行生产、请告诉我。

    谢谢、此致、

    桑托什

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

    Mike、

    只是想知道您是否能够解决问题、还是仍有问题?

    谢谢、此致、

    桑托什

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

    您好、Santosh、

    我尝试将闪烁项目加载到 F280049C Launchpad 上、但无法复制此行为。 毫不奇怪、这是一种苹果对橙的比较。 我仍然经常在我的定制板上遇到这种行为、但仍然没有清晰的图案。 有什么问题吗?

    这已成为一项重大挑战、因为现在正在对电路板进行系统内评估。 基本上、这意味着有时安装的电路板或系统 会表现出一些有趣的行为、 我希望将调试器连接到目标以检查其状态。 但是、当这个问题出现时、如果没有下电上电、就无法连接到它、这也会重置我希望检查的状态。 非常令人沮丧。

    我查看了 F28004x 文档、发现它建议在 TDI、TDO 和 TMS 上放置上拉电阻器。 可能是一个长射、但我将破解板上的那些器件、看看它是否发生了变化。

    此外、我还可以尝试将目标配置更改为使用 cJTAG (如 F280049C launchpad)而不是 JTAG、并使用 launchpad 上的 XDS110来调试自定义电路板。 这肯定是一个长期的尝试、但这至少应该消除 Launchpad 和我的定制板之间的几个差异。

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

    我想我过去问过这个问题、但 TI 是否制造出任何使用 RSH 封装 F28004x 的开发板? 最好哪一个也可以与完整 JTAG (而不仅仅是 cJTAG)一起使用?

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

    Mike、

    您可以使用 F280049C controlCARD。 它使用 XDS100v2。

    https://www.ti.com/tool/TMDSCNCD280049C