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.

[参考译文] CCS/TM4C129XNCZAD:砖型微错误-1170 @ 0x0无法访问 DAP

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/610413/ccs-tm4c129xnczad-bricked-micro-error--1170-0x0-unable-to-access-the-dap

器件型号:TM4C129XNCZAD
主题中讨论的其他器件:TM4C123UNIFLASH

工具/软件:Code Composer Studio

如何擦除微控制器? 我相信我已经锁定了我的器件。 错误的程序代码可能会阻止 JTAG 通信。

我使用的是 XDS100 V2。

完整的错误消息是:

连接到目标时出错:
(错误-1170 @ 0x0)
无法访问 DAP。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。
(仿真包6.0.628.1)

在调试会话期间添加并运行了以下代码行。 微控制器不能在以下之后进行调试:

clkFreq = SysCtlClockFreqSet (SYSCTL_USE_PLL | SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN、50000000);

我已在第二个设备上重新创建此问题。 两个器件都成功启动了一个调试会话、并且无法连接后言。

随后的代码闪烁电路板上的 LED。 LED 闪烁代码永远不会运行。 它使用以下代码行运行:

SysCtlClockSet (SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHz|SYSCTL_OSC_MAIN);

这是反向直观的、因为 Tiva 指南说"只应在 TM4C123器件上调用此函数。 对于所有其它器件、使用 SysCtlClockFreqSet()函数。" 有趣的是、您说的不使用的功能可以正常工作...

CCS 是否是唯一可与 XDS100 V2搭配使用的应用? 我希望有一个简单的制造接口、可以连接到闪存器件。 SmartRF 编程器应用程序无法与 XDS100v2连接。

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

    数据表的第4.3.4.3节介绍了该过程

    http://www.ti.com/lit/ds/symlink/tm4c129xnczad.pdf

    UniFlash 可与 XDS100V2搭配使用、用于正常擦除和编程。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我安装了 Uniflash、其中有一个"Erase Flash"按钮、但我收到错误"Target is not connected"
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Uniflash 上的该选项适用于未锁定的器件。 这项建议是针对你的最后一个问题提出的。 [引用 user="Peter Borenstein"]"CCS 是否是唯一可与 XDS100 V2搭配使用的应用程序?"

    Uniflash 确实可以选择执行解锁/批量擦除、但只有使用 LaunchPad 上使用的 ICDI、不适用于 XDS100V2。

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

    Bob、您能否解释如何使用 CCS 或 Uniflash 来"执行总共10个 JTAG 到 SWD 和 SWD 到 JTAG 的切换序列"? (来自 第4.3.4.3节)

    LM 闪存编程器在给我一个错误"无法解锁已连接的器件!"时有一个解锁按钮。 当我的 XDS100v2未连接到我的 PC 时、我会收到相同的消息、因此此错误可能毫无意义...

    LM 闪存编程 器解锁序列也在正常工作的"不带砖型"器件上失败。

    它提供的唯一指令是在加电时使 RESET 按钮有效并保持该按钮。 我已验证我的重置按钮是否工作正常。 当我按下复位按钮时、我的 LED 闪烁测试代码重新启动。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在一个良好的电路板上执行了解锁功能。 我的 LED 闪烁程序已从良好的板上擦除。 我的布板仍然是砖砌的。

    SPMA075介绍了使用 Uniflash 的解锁序列。 实用程序在结束时不会给出消息 它只是结束了。 无"成功"或"失败"消息。

    严格遵守 SPMA075中的指令。 说明中显示 dbgjtag 已安装在 uniflash 3.2目录中。 我在4.2.0安装中没有看到 dbgjtag (也许是编写手册的那个家伙把这个版本号记在心)。我在 C:\ti\ccsv7\ccs_base\con\uscif 中找到 dbgjtag。

    SPMA075指令显示"确保实用程序包的版本至少为6.0.83.0"。 我的 CCS7文件显示实用程序软件包版本为6.0.628.1。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我是骗子。 dbgjtag 工作很棒! 我在复位开关上有一些退断电路(CAP 和电阻器)。 移除、使解锁序列正常工作。 砖砌的板是无砖的!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您肯定不止此、但"每个人-每一个地方"在 MCU 的复位线路上都不采用这样的去抖电路?

    除非您具有"不符合标准的值和/或执行"组件、否则我看不到这样一个要求(移除所有复位电路)是必要的!   (或者-如果您到目前为止已经降低了 MCU 的系统时钟-可能是、"从复位恢复已降级...")

    我无法确定您的电路板是评估板还是 LPAD -其中应包含"正确"的值、MCU 复位线路组件。   对我来说、部件故障和/或连接不良是唯一的"合理"解释...

    曾参加过这个论坛及其前身(永远)、从未通过"移除重置线路组件"发现过这样的"从锁定状态中退出"!    此外-在不使用上拉 R 的情况下-重置线的处理证明"不确定"-我不认为它能够在"从您的"切换至接地"释放时正确恢复。   (即、此处的内容为"rotten")

    [编辑-添加] 多想一想-如果复位电路上拉电阻值过低(明显过低) 然后、电路板的3V3可能会"超出规格"、但仅在保持复位开关的情况下-这可能会解释先前尝试"解锁"失败的原因...   允许 MCU 的复位引脚悬空绝不是最佳做法!   (正如您似乎建议的那样)

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

    CB1、

    我同意不需要复位去抖电路。 我还有4个用户按下的开关、需要对用户开关进行消抖(因此一个按下不会变为四个)。 我对包括复位在内的所有开关进行了消抖。 重置未被专门去除回弹;它只是被包括在内。

    这会在微引脚和开关之间放置一个小电阻器。 调试器直接连接到 RESET 引脚。 我的假设是、由于引脚和闭合开关之间的电阻器很小、调试器能够取消置位复位信号。 我认为这是因为复位引脚可以正常工作、但在移除去抖之前它不会完成解锁过程。

    SysCtlClockSet()是在欺骗我的微控制器,因为我交换了32KHz RTC 和25MHz 主示波器。 经过一小段手术后、它们被校正、并且 Tivaware 工作得很好。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的详细介绍-谢谢。 请允许我注意、我们公司所使用的" RC 去抖动器"是"经典"、"从未/从来没有"我们认为需要"移除组件"来实现目标。 (尽管我们使用了非常合适的 JTAG Pod (J-Link -行业领导者)。 有人想知道您的"较新、较小、有限的"JTAG Pod 是否是您问题的原因和/或原因?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Peter Borenstein"]

    我可以确保逆变器是施密特、但您最好选择具有开关输入的监控电路。

    Robert

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

    等待-刚刚注意到"逆变器!"    MCU 的复位是否不应"拉高"以实现正常运行?    如图所示-当开关"常开"时、逆变器将"将 MCU 的复位驱动至(接近)接地!"

    这是完全错误的-在"4C123" LPAD 的复位线路上似乎没有这样的"逆变器"!    现在请注意海报的 MCU 是4C129 -它是否为正常运行寻找复位@ GND -?   真的吗?

    [编辑] 海报"寻找"并找到: "  

    这清楚地表明 MCU 的复位线路是"传统"(即运行逻辑高电平、复位逻辑低电平)-逆变器(其输入上拉)运行(反向)该(长)标准!

    是否(现在)证明错误的帖子"已验证?"

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我假设它是另一个电路的输入。 在使用逻辑门对复位线路进行所有馈送之后、这是一个坏主意。

    Robert
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该图像只是"去抖电路"的第一个谷歌搜索点之一。 使用微型引脚替换栅极。

    复位开关是次要问题、无法解决第一个问题:

    Micro 无法打开晶振=>对调试器无响应=> Bobs 建议使用 JTAG 擦除和 Uniflash => JTAG 擦除不起作用=>重置线路固定=> JTAG 擦除工作=>晶振固定
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Peter Borenstein"]使用微型引脚放置栅极。

    这表明您将 RESET 引脚直接连接到开关。 可能是个坏主意。

    Robert

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