文件名称:顶层任务状态-ri5cy_user_manual
文件大小:3.05MB
文件格式:PDF
更新时间:2024-06-23 11:42:21
FreeRTOS 中文
1.3 顶层任务状态 应用程序可以包含多个任务。如果运行应用程序的微控制器只有一个核(core),那 么在任意给定时间,实际上只会有一个任务被执行。这就意味着一个任务可以有一个或 两个状态,即运行状态和非运行状态。我们先考虑这种 简单的模型——但请牢记这其 实是过于简单,我们稍后将会看到非运行状态实际上又可划分为若干个子状态。 当某个任务处于运行态时,处理器就正在执行它的代码。当一个任务处于非运行态 时,该任务进行休眠,它的所有状态都被妥善保存,以便在下一次调试器决定让它进入 运行态时可以恢复执行。当任务恢复执行时,其将精确地从离开运行态时正准备执行的 那一条指令开始执行。 图 1 顶层任务状态及状态转移 任务从非运行态转移到运行态被称为”切换入或切入(switched in)”或”交换入 (swapped in)”。相反,任务从运行态转移到非运行态被称为”切换出或切出(switched out)”或”交换出(swapped out)”。FreeRTOS 的调度器是能让任务切入切出的唯一实体。 FreeRTOS 7 Designed For Microcontrollers; © 2009 Richard Barry. Distribution or publication in any form is strictly prohibited.