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:调试时进入睡眠模式

Guru**** 2479265 points
Other Parts Discussed in Thread: EK-TM4C1294XL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/693395/tm4c1294ncpdt-sleep-mode-while-debugging

器件型号:TM4C1294NCPDT
Thread 中讨论的其他器件:EK-TM4C1294XL

研究员,

我们通过使用不同的睡眠模式开始了为项目实现节能的任务。

由于直接在我们自己的代码上尝试失败(FaultISR)、我们决定使用 TM4C1294 EK Launchpad、并导入 SLEEP_MOes Tivaware 示例。 第一次尝试也失败:在切换电源模式几次后、计时器驱动的 LED 停止闪烁、代码卡在 FaultISR 上。

在阅读了有关睡眠模式与调试的内容之后、我们决定在 JTAG 调试器未激活的情况下再次运行电路板-在这种情况下、代码运行正常。

这是真正的原因吗? 也许值得一提的是、TivaWare 测试示例在创建过程中使用了编译器5.2.6、而我使用的是 TI v18.1.0.LTS。

实际上、如果在调试期间不能使用睡眠模式、是否有任何标志/寄存器可被检查以验证调试是否激活、以便 可以应用对 SysCtlSleep ()的条件调用?

此致

布鲁诺

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

    您好、Bruno、

    读取调试暂停控制和状态寄存器(DHCPSR、0xE000EDF0)的 C_DEBUGEN 位(位0)应该会告诉您是否有调试器连接到 M4处理器。

    从 ARM 链接:

    https://static.docs.arm.com/ddi0403/e/DDI0403E_B_armv7m_arm.pdf#page=759

    这是我创建的一个读取该位的简单项目。 如果我在 EK-TM4C1294XL launchpad 上加载并执行、我会得到"调试器已连接!" 以及 LED1上的缓慢闪烁速率。 如果我断开调试器的连接并按复位按钮、我会得到"调试器未连接!" 并具有更快的闪烁速率。

    /cfs-file/__key/communityserver-discussions-components-files/908/EK_2D00_DebuggerCheck.zip

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

    非常感谢你们的帮助,很抱歉我以前没有回复,这里的人实在太多了!

    仅为记录目的、如果任何人都想寻找不同的语法、此帖子还涉及调试器检测:
    e2e.ti.com/.../1350268

    我能够确认在连接调试器时任何进入睡眠模式的尝试都会导致 FaultISR、因此这类解决方案几乎是强制性的(我实际上想知道为什么很少有论坛发布关于这个主题的帖子)。

    此致

    布鲁诺