【发布时间】:2014-06-30 06:49:20
【问题描述】:
在使用 RTOS 的实时系统中,RTOS 如何处理空闲期?它会以支持动态电压缩放的处理器支持的最低频率运行 nop 指令吗?还是会变成睡眠状态?任何人都可以向我推荐实际的实际实现。谢谢
【问题讨论】:
-
在他的博客中,Nigel Jones 建议What to do in the Idle Task。
标签: rtos
在使用 RTOS 的实时系统中,RTOS 如何处理空闲期?它会以支持动态电压缩放的处理器支持的最低频率运行 nop 指令吗?还是会变成睡眠状态?任何人都可以向我推荐实际的实际实现。谢谢
【问题讨论】:
标签: rtos
这将完全取决于目标硬件,可能还取决于应用程序的需求和设计。例如,在 ARM Cortex-M 上,您通常会调用 WFI 指令,该指令会关闭内核直到发生中断。
在许多微控制器/SoC 情况下,降低 PLL 时钟频率会影响可能发生硬件中断的片上外围设备,因此这种可能性较小。它会影响波特率和定时器分辨率,并且可能很难轻松管理。有一篇关于 FreeRTOS/Cortex-M3 上tickless idle电源管理方法的论文here。
在大多数情况下,空闲循环源是作为板支持的一部分提供的,因此您可以根据需要对其进行自定义。
【讨论】: