【发布时间】:2010-06-13 04:30:46
【问题描述】:
我发现在 uC/OS-II RTOS 中,当没有其他任务准备好运行时,会执行一个空闲任务。如果一个空闲任务可以消耗资源,我们如何减少它?
【问题讨论】:
-
你想减少什么?一个空闲任务本质上是
while(nothing_ready_to_run) { no_op; }没有什么可以优化的。 -
空闲任务可能会消耗内存、电源或 I/O 资源。需要减少哪一项?
-
内存和电源。有趣的是 I/O 资源在空闲任务期间被使用。如何使用 I/O 资源?
-
S.M:任何以优先级 1 运行的东西都可以被认为是空闲任务,因此空闲任务可以做任何事情。此外,您可以将代码放入
OSTaskIdleHook,这样常规的空闲任务也可以做任何事情。如果你没有做任何一个,我不会担心空闲任务。 -
我不禁认为你在这个问题和你发布的其他问题中汗流浃背。
标签: multithreading real-time embedded-resource rtos multitasking