【问题标题】:Entering sleep mode on arm cortex m4在手臂皮质 m4 上进入睡眠模式
【发布时间】:2013-06-12 00:23:36
【问题描述】:

我正在尝试让 cortex m4 处理器休眠不到一秒钟。我希望能够告诉它睡觉,然后一秒钟后,或者当按下按钮时,从我离开的地方继续。我查看了参考手册,VLPS 模式看起来很适合我的需要。我不知道如何开始进入该模式或如何编程NVIC

更多信息: 我在 C 中做这个,在裸机上。

【问题讨论】:

  • 很难判断这个问题是属于这里还是属于electronics.stackexchange.com。你在用C吗?如果没有,您需要使用什么语言来完成这项工作?
  • 另外,您是在使用 RTOS 还是在“裸机”上运行?
  • @TaylorFlores 我在 C 中在裸机上执行此操作。我已经更新了问题。
  • @EricMiller 我正在裸机上执行此操作。

标签: arm suspend bare-metal cortex-m


【解决方案1】:

您可以下载并检查实现this demo 的代码。虽然演示是针对 RTOS 的,但无论是使用 RTOS 还是应用程序在裸机上运行,​​用于将 CPU 置于睡眠模式的代码都是相同的。

您可以执行一些通用操作来将 Cortex-M3 内核置于低功耗状态(请参阅 WFI 指令)。为了获得极低的功耗,你还必须做芯片特定的事情。上面链接的代码在调用 WFI 之前执行了一些芯片特定的预睡眠处理(关闭外设,设置芯片自己的睡眠模式等),然后在从 WFI 指令返回时执行一些芯片特定的事情。

【讨论】:

    【解决方案2】:

    从睡眠中唤醒 Cortex M4 不需要 RTOS,你需要的是使用和中断(ISR)你应该参考制造商手册,你可以用定时器(ISR)唤醒或按钮(GPIO),具体取决于您的特定芯片的睡眠休眠模式。这是一个更深入的 ARM 文档。

    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0553a/BABGGICD.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多