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.

[参考译文] LP-MSPM0G3507:连接问题/器件已锁定

Guru**** 2595805 points
Other Parts Discussed in Thread: MSPM0G3507, LP-MSPM0G3507, UNIFLASH, SEGGER

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1245723/lp-mspm0g3507-connection-problem-device-locked

器件型号:LP-MSPM0G3507
主题中讨论的其他器件: UNIFLASHSEGGER、MSPM0G3507

我有一个 LP-MSPM0G3507板、我尝试使用 CCS 构建的 MSPM0 SDK 示例中的二进制文件进行刷写。

不幸的是、我无法访问内核。

XDS110 USB 调试探针

当尝试从 CSS 刷新时、我收到以下消息:

Error connecting to the target: (Error -614 @ 0x0) The target indicates there is an error condition from a previous SWD request. Clear the error the condition, and try the SWD request again.

J-Link Ultra+调试探针

当我从 J101断开 SWD 并将 J-Link Ultra+连接到 J103、启动 J-Link Commander 并尝试进行连接时、我得到:

AP[0]: Stopped AP scan as end of AP map seems to be reached
Iterating through AP map to find AHB-AP to use
Attach to CPU failed. Executing connect under reset.
DPIDR: 0x6BA02477
CoreSight SoC-400 or earlier
Scanning AP map to find all available APs
AP[0]: Stopped AP scan as end of AP map has been reached
Iterating through AP map to find AHB-AP to use
Could not find core in Coresight setup
Cannot connect to target.

在我看来、器件似乎是以某种方式锁定了或处于不再接受 SWD 命令的状态。

有任何提示/想法、我可以做些什么来让它恢复运行?

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

    您好、Marco:

    您是否可以在刷写之前尝试预执行 BSL 复位? 为此、请同时按住 RST 和 BSL 按钮(左侧按钮)。 然后、在 BSL 按钮之前释放 RST 按钮。 在此模式下、有一个大约10秒的窗口来刷写器件。 如果这起作用、则 CCS 的 M0支持包存在问题。

    您正在使用哪个版本的 CCS?

    此致、

    格雷戈

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

    Greg 您好!

    借助所描述的 BSL 复位过程、我可以刷写电路板、调试并执行代码。

    版本:

    CCS: 12.3.0.00005  

    MSPM0 SDK:1.10.0.5

    我在 UniFlash  8.3.0.4307中有相同的问题。 借助上述 BSL 复位过程、我还可以使用 UniFlash 进行刷写。

    我能否将部分工具更新/降级至不存在此问题的版本?

    此致 Marco

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

    Marco

    很高兴听到它修复了!  我可以帮助您解决每次必须进行复位的问题。

    您不必回滚 SDK 或 CCS、但在 CCS/Uniflash 中安装 M0支持包应该可以解决问题。 我看到、您应该可以访问 "Secure Resources"下的 M0文件。 该页面上的快速入门指南介绍了如何在下载后将支持包实施到 CCS 中。

    我认为该页面上链接的支持包本身已经过时、您应该通过电子邮件收到更新的支持包。 安装说明如下 几乎 相同的。 告诉我、您能 在此链接中看到支持包吗? 此版本应该能修复 BSL 错误。 如果您可以看到下载链接、请下载以 P2结尾的链接(假设您使用的是 Windows) 、然后按照快速入门指南操作、但 与指南中所说的不同、您不必编辑存档名称 (不要在文件扩展名中添加 P2)。

    如果这个过程中有任何步骤我可以帮助你,请告诉我。

    此致、

    格雷戈

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

    Greg 您好!

    我继续在这个主题上工作。 此外、我们还直接与 TI FAE 联系、FAE 指出、CCS12.4版本的新版本、有望消除这一问题。 我将 CCS 更新为12.4、且能够从 CCS 中闪存、运行、调试 MSPM0 SDK 代码示例(使用  XDS110 USB 调试探针和 J-Link Ultra+调试探针)。

    我还使用我们自己的工具链(GNU GCC、CMake、SEGGER Ozone Debugger、VS Code Editor)构建最小示例项目。 我可以将二进制文件刷写到 LP-MSPM0G3507、并运行代码(LED 以正确的频率闪烁)。

    但是、在尝试使用 SEGGER Ozone v3.30a 进行刷写和调试时 、我会观察到以下行为:

    • 有时刷写可行、SW 最终在 DefaultHandler 中完成
    • 有时、在刷写过程中报告为中断
    • 有时我根本无法连接到目标、

    在我的最小值。示例中、我使用 MSPM0 SDK 1.0.1.3中用于 GCC 的启动文件和链接器脚本。 Ozone 项目文件只是我在 Ozone 中选择 MSPM0G3507器件时创建的标准。

    在 https://wiki.segger.com/TI_MSPM0G 下、 Segger 指出了有关 MSPM0G3507器件看门狗和复位处理的一些特殊说明。

    臭氧配置中的看门狗和重置处理是否需要特别注意? 还有其他想法我的问题可能是什么?

    此致 Marco

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

    您好、Marco:

    我个人没有接触臭氧的经验,但我 和我的团队谈论了可能的原因。

    我有一个问题需要澄清。

    最小值中。示例我使用 MSPM0 SDK 1.0.1.3中的启动文件和链接器脚本作为 GCC。

    您从旧版本的 SDK 中获取文件是出于什么原因吗? 始终可以尝试使用最新 SDK 版本中的文件。

    有一些建议,如果臭氧是在这里的问题:

    1.) SEGGER J-Link 存在一个已知的限制、在该限制中、我们不得不告知它使用未经检查的 SRAM 区域、因为该区域未正确处理 ECC 校正后的 SRAM。 我们不确定臭氧是否有同样的问题,但值得一看。

    2.) 仔细检查您是否正在使用最新版本的 Ozone。 最新版本的发行说明显示该版本使用的是驱动程序7.88j、并且最近修复的几个问题与此驱动程序版本有关。

    请告诉我这些修复程序中的任何一个是否起作用。

    此致、

    格雷戈

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

    Greg 您好!

    1.) 我将 MSP0 SDK 从1.0.1.3更新为最新版本(MSPM0G3507的启动文件和链接器脚本未更改)、但问题是相同的

    2.) 我和 Segger 讨论过、他们提到 Ozone 在将应用程序下载到闪存后修改了 PC。 如果在应用程序之前运行引导加载程序(我认为 TI 引导加载程序是在芯片生产期间编程的)、这可能会导致问题。   臭氧设置的 wiki.segger.com/Debug_on_a_Target_with_Bootloader 下所描述的修改使我能够立即进行闪存和调试。  

    尝试擦除芯片存储器时、扇区0x41C00000的擦除失败、因为引导加载程序配置位于那里、并且扇区处于锁定/保护状态。

    我现在只是无视这一警告。 我认为正确的方法将是指示臭氧或 JFlash 仅擦除没有引导加载程序配置存储的扇区。 但我没有时间尝试它。

    反正我现在可以工作了。

    最后一个问题:您能否指定编程的引导加载程序在复位后完成需要多长时间?

    马可

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

    您好、Marco:

    M0G 的数据表 第33页详细介绍了复位时间。 我认为您正在寻找的是器件的启动时序。

    此致、

    格雷戈