FreeRTOS教程书
提供了关于任务及其行为的其他详细信息。
每个任务均被分配了从 0 到 ( configMAX_PRIORITIES - 1 ) 的优先级,其中的 configMAX_PRIORITIES 在 FreeRTOSConfig.h 中定义。
如果正在使用的端口实现了端口优化的任务选择机制,该机制使用
“前导零计数”类指令(用于单个指令中的任务选择)且
在 FreeRTOSConfig.h 中将 configUSE_PORT_OPTIMISED_TASK_SELECTION 设置为 1,则 configMAX_PRIORITIES
不得大于 32。 在所有其他情况下,configMAX_PRIORITIES 可以采取任何
合理范围内的值,但出于 RAM 使用效率的原因,应保持在
实际需要的最小值。
低优先级数字表示低优先级任务。 空闲任务的优先级为零 (tskIDLE_PRIORITY)。
FreeRTOS 调度器可确保在就绪或运行状态的任务将
始终在同样处于就绪状态的较低优先级任务之前获得处理器 (CPU) 时间
。 换句话说,被置于运行状态的任务
始终是可运行的最高优先级任务。
任意数量的任务可共用相同的优先级。 如果 configUSE_TIME_SLICING 未经定义,
或者如果 configUSE_TIME_SLICING 设置为 1,则相同优先级的就绪状态任务
将使用时间切片轮询调度方案共享可用的处理时间
。
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.