进入手臂皮层m4进入睡眠模式

时间:2013-06-12 00:23:37

标签: arm suspend bare-metal cortex-m

我正试图让一台皮质m4处理器睡一会儿不到一秒钟。我希望能够告诉它睡觉,然后一秒钟,或按下按钮,然后在我离开的地方接听。我查看了参考手册,VLPS模式看起来很符合我的需求。我不知道如何开始进入该模式或如何编程NVIC

更多信息: 我在C中用裸机做这​​个。

2 个答案:

答案 0 :(得分:1)

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

将Cortex-M3内核置于低功耗状态可以做一些通用的事情(参见WFI指令)。要获得极低的功耗,那么你也必须做特定于芯片的事情。上面的链接代码在调用WFI之前执行一些特定于芯片的预睡眠处理(外围设备的转换,设置芯片自己的睡眠模式等),然后在从WFI指令返回时执行一些芯片特定的事情。

为什么在这里问这个问题而不是专门讨论ARM处理器的论坛?

答案 1 :(得分:0)

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

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