1
3
通常情况下,空闲任务是将处理器置于低功耗(休眠)模式,如果它是低功耗系统,并且处理器具有这种模式。这通常是一个特定的汇编指令,例如在ARM上,您将执行“WFI”指令。在其他芯片上,内核外可能有一个特定的寄存器来管理电源(与指令相反)。
通常在进入低功耗模式之前,您会关闭所有不需要的外围设备。再次检查芯片的数据表。另外,如果您要使用中断来唤醒,请确保外围设备没有断电,并且中断已启用,否则,您将无法唤醒。 最后一点:通常在调试时(例如在JTAG设备的控制下),当进入低功耗模式时会发生奇怪的事情,因此您希望在调试时禁用空闲任务中的“睡眠”,并且只在没有调试器的情况下运行时才这样做。通常这是一个编译时决策(#ifdef…) |
2
1
当然,如果您通过直接修改空闲任务或实现一个钩子来扩展空闲任务,那么资源的使用完全在您的控制范围内,但是您不能白白得到一些东西。 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |
user1700890 · 了解交互式代理Python API中的线程 2 年前 |
AntonBoarf · 为什么要将实例变量指定给局部变量? 2 年前 |
rhymes · 如何让线程操作相同的java列表 2 年前 |