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/MSP430FR2433:连接调试探针后、MSP-EXP430FR2433上的 LPM 4.5示例代码失败

Guru**** 2530350 points
Other Parts Discussed in Thread: MSP-EXP430FR2433, MSP430FR2433

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/716108/ccs-msp430fr2433-lpm-4-5-example-code-fails-on-msp-exp430fr2433-when-debug-probe-attached

器件型号:MSP430FR2433
主题中讨论的其他器件:MSP430WAREMSP-EXP430FR2433

工具/软件:Code Composer Studio

连接调试探针时、TI 示例 msp430fr243x_lpm4_5_01.c 似乎无法正常工作。
尽管文档 SLAA424似乎说您可以使用调试探针来调试 LMP4.5。

在 CCS 中重现:
-选中"Project>Properties>Debug>MSP43x Options>Enable Ultra Low Power debug"复选框
-更改示例如下所示
-选择"CCS Debug"图标将 GUI 更改为调试视图
-选择"Debug"图标以刻录到目标并启动调试器
-选择菜单项“运行”>“自由运行”
- Launchpad 上的按钮 S1
-希望 LED1开始闪烁(但没有闪烁)。

但是、如果您断开除3V3和 GND 之外的所有跳线与 J101的连接(将目标与 FET 隔离)、并重新为电路板供电、则该示例有效(按下按钮会导致 LED 闪烁)。

上下文:
 msp430ware_3_80_04_05中的示例
编译器 CCS Desktop 8.1.0.00011
开发套件 LaunchPad MSP-EXP430FR2433
平台 Ubuntu 16.04

该示例需要两个更改:
1) 1) Launchpad 的 P2.3上有一个按钮、而不是 P1.3
2) 2)开箱即用的 Launchpad 已断开 XTAL (例如、与 XTAL 相关的代码)。

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

    让我看看问题可能是什么。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Lloyd、

    很抱歉耽误您的回答。 我已经验证了您看到的内容。
    我已经联系了我们的工具团队、看看他们是否可以提供一些有关可能导致此问题的调试器功能的信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Lloyd、

    我们的工具团队已确认在"自由运行"模式下无法从外部引脚将 MSP430FR2433从 LPM4.5唤醒。

    以下是一些评论:

    在 MSP-EXP430FR2433上、无法通过 LPMx.5进行调试。 当您不进行自由运行时、器件将永远不会进入 LPMx.5。 它将保持在 LPM4中。 因此您必须使用正确的 FeeRun。

    自由运行正常、器件按预期进入 LPMx5。 在 MSP430FR2433上、您无法从外部(引脚)唤醒器件。 调试器不会检测到此情况。(不可能进行轮询)。 在这种情况下、器件将挂起到 MSP 引导代码陷阱中。 在下电上电后、该陷阱消失。 您能验证一下吗?
    如果通过恢复(F8)唤醒器件、调试器将负责连接到器件并正确处理引导代码陷阱、从而最终重新启动 IDE 调试会话。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。


    我无法理解这一点。

    工具团队评论说,选择 Free Run 后,“如果您通过恢复(F8)唤醒设备,调试器…”。 我自己尝试过这种方法,但它无法正常工作:1)禁用“恢复”图标(灰色),2)按 F8键对调试器没有影响。

    要清除这是我的测试序列:

    -选择"Debug"图标将示例程序刻录到目标并启动调试器
    -选择菜单项“运行”>“自由运行”
    IDE 应在左上面板的调试会话名称旁边显示“(正在运行(无电源/时钟))”
    -按 F8键

    这使我感到困惑,因为目标已经在运行(不是由调试器暂停,而是在 LPM4.5中),所以为什么需要“恢复”目标。 工具团队可能是指暂停?

    另外,我可能不明白“自由运行”的含义。 我的理解是、它会删除所有断点、让目标执行、并禁用调试器探针、以便调试器探针不会发送/接收 SBW 引脚上的任何信号。 因此、目标的运行方式应与独立单元的运行方式相同。 如果这是正确的理解、那么外部开关为什么不会将目标从 LPM4.5唤醒?

    这使得开发人员在使用 LPM4.5的程序中使用 Launchpad 的过程变得困难: 每次更改代码时、您必须向 J101添加跳线、以便您可以刻录程序、然后从 J101中移除跳线、这样程序的运行方式(例如从外部开关唤醒)就像未连接调试探针一样。

    最后,您能否解释“MSP 引导代码陷阱”。 “bootcode”源代码是否可用? 引导代码在存储器中的什么位置加载? 我提出这些问题是因为我可能会遇到一个相关的问题、在这个问题中、系统在加电时会单独遭受空存储器地址(VMA) NMI、但在连接到调试器时不会。

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

    我已将您的问题传递给我们的工具团队。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Lloyd、

    很抱歉耽误你的回答。 我们的工具团队位于弗莱辛、有时他们需要稍微推动一下。

    好的、首先、他们关于恢复(F8)和停止的问题是错误的。 您必须按 Halt 才能重新控制器件。

    接下来、关于"自由跑步"的理解、是的、您的期望是正确的。 他们询问您是否已检查 CCS 中的"Halt"是否会唤醒器件?

    最后、您关于引导代码的问题。 引导代码是器件和 ROM 代码的一部分。 我们不会提供该信息、因为它是专有的。 他解释说、引导代码只需要与 LPMx.5中的调试器同步。

    他还说、如果您尝试保持调试连接处于活动状态、调试器可能会抑制您的空存储器访问(VMA) NMI。