在使用FreeRTOS的时候我们要根据自己的需求来配置FreeRTOS,不同MCU的配置也不同。修改配置文件FreeRTOSConfig.h完成FreeRTOS的裁剪和配置。
INCLUDE_开始的宏
使能和失能FreeRTOS中相应的API函数
config开始的宏
完成FreeRTOS的配置和裁剪
#define configUSE_PREEMPTION // 使用抢占式调度算法
#define configUSE_IDLE_HOOK // 空闲任务钩子函数
#define configUSE_TICK_HOOK // 时间片钩子函数
#define configCPU_CLOCK_HZ((unsigned long ) 72000000) // CPU 频率
#define configTICK_RATE_HZ(Ticktype_t ) 1000) // 设置FreeRTOS的系统时钟频率
#define configMAX_PRIORITIES(5) // 设置任务优先级的数量0~(5-1)
#define configMINIMAL_STACK_SIZE ((unsigned short)128) // 设置空闲任务的最小任务堆栈大小,单位字,128*4=512byte
#define configTOTAL_HEAP_SIZE(size_t ) ( 17 * 1024 )) // 设置堆大小
#define configMAX_TASK_NAME_LEN(16) // 设置任务名最大长度
#define configUSE_TRACE_FACILITY // 可视化跟踪测试
#define configUSE_16_BIT_TICKS // 设置系统节拍计数器变量数据类型, 0->32bit, 1->16bit,这里STM32是32bit的,所以写0
#define configIDLE_SHOULD_YIELD // 空闲任务对处于同等优先级的其他任务的操作,0-空闲任务不会让出CPU使用权,1-空闲任务会让出CPU使用权
|