NXP MCU 技术william hill官网
直播中

倪山骋

7年用户 1058经验值
私信 关注
[问答]

i.MXRT1166在调试期间禁用WFI节能是为什么?如何让内核保持唤醒状态以进行调试?

我正在尝试调试 i.MXRT1166 上的应用程序。应用程序在空闲循环中有一个 WFI 指令。一旦达到这一点,我的调试器 (Lauterbach Trace32) 就会告诉我内核已断电。
对于 i.MXRT1050,可以通过将 CCM->CLPCR 中的 LPM 设置为 0(保持运行模式)来禁用该行为。这允许在不进行或进行最少更改的情况下调试应用程序。
我还没有为 i.MXRT1160/i.MXRT1170 系列找到类似的东西。在这些芯片上执行 WFI 指令期间,如何让内核保持唤醒状态以进行调试?

回帖(1)

王飞

2023-12-6 18:16:35
i.MXRT1166采用了不同的节能机制,无法像i.MXRT1050那样通过将CCM->CLPCR中的LPM设置为0来禁用WFI节能。相反,可以使用以下两种方法来让内核保持唤醒状态以进行调试:

1. 使用DMA或其他计时器来定期唤醒内核,避免进入WFI模式。这种方法需要在应用程序中进行代码修改。

2. 打开i.MXRT1166的调试选项,这会使i.MXRT1166在运行时禁用WFI节能。在Lauterbach Trace32中,可以通过设置ETB的EOnSleep位来打开调试选项。

需要注意的是,打开调试选项会影响系统的功耗和性能。因此,应该在调试完成后关闭它。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分