https://blog.csdn.net/qq_16069457/article/details/103671465
https://blog.csdn.net/weixin_40599145/article/details/100164676
https://blog.csdn.net/zhzht19861011/article/details/50134883
use preemption 使用搶佔
cpu clock hz 設置CPU的頻率
tick rate hz 時鐘節拍頻率,這裏設置爲1000,週期就是1ms
max priorities 可使用的最大優先級(指的是任務的)
對於 STM32F103,F407 和 F429 來說,中斷優先級的數值越小,優先級越高。 而 FreeRTOS
的任務優先級是,任務優先級數值越小,任務優先級越低。
minimal stack size 空閒任務使用的堆棧大小,單位是字,一般128word
max task name len 任務名字字符串長度
use 16 bit ticks 系統節拍計數器變量數據類型,
enable表示爲16位無符號整形,disable表示爲32位無符號整形
idle should yield 爲enable時空閒任務放棄CPU使用權給其他同優先級的用戶任務
use mutexes 爲enable時使用互斥信號量
use recursive mutexes 爲enable時使用遞歸互斥信號量
use counting semaphores 爲enable時使用計數信號量
queue registry size 不爲0時表示啓用隊列記錄,具體的值是可以
記錄的隊列和信號量最大數目。
use appliction task tag 爲enable時可以給任務分配標籤值
enable backward compatibility 爲enable啓用向後兼容,頭文件FreeRTOS.h包含一系列#define宏定義,用來映射版本V8.0.0和V8.0.0之前版本的數據類型名字。這些宏可以確保RTOS內核升級到V8.0.0或以上版本時,之前的應用代碼不用做任何修改。在FreeRTOSConfig.h文件中設置宏configENABLE_BACKWARD_COMPATIBILITY爲disable會去掉這些宏定義,並且需要用戶確認升級之前的應用沒有用到這些名字。
就是爲了兼容之前的版本用的宏。例如:在之前的版本中,FreeRTOS的各種類型均爲xXXX(如xSemaphoreHandle),在最新版中,均使用XXX_t(如SemaphoreHandle_t)。因此,在新項目中,最好使用FreeRTOS的最新的各種類型定義。
use port optimised task selection enable啓用特殊方法來選擇下一個要運行的任務
一般是硬件計算前導零指令,如果所使用的
MCU沒有這些硬件指令的話此宏應該設置爲disable
use tickless idle 爲enable啓用低功耗tickless模式
use task notifications 爲enable時開啓任務通知功能,默認開啓
record stack high address 爲enable時記錄堆棧高地址
tolal heap size 總堆大小
memory management schema 內存管理架構
use idle hook enable使用空閒鉤子;disable不使用
use tick hook enable使用時間片鉤子;disable不使用
use malloc failed hook enable使用內存申請失敗鉤子函數
use daemon task startup hook 使用守護程序任務啓動掛鉤
check for stack overflow 檢查堆棧溢出,大於0時啓用堆棧溢出檢測功能,如果使用此功能
用戶必須提供一個棧溢出鉤子函數,如果使用的話
此值可以爲option1或者option2,因爲有兩種棧溢出檢測方法。
generate run time stats 生成運行時統計信息
use trace facility enable啓用可視化跟蹤調試
use stats formatting functions 使用統計格式功能,
與宏configUSE_TRACE_FACILITY同時爲1時會編譯下面3個 函數
prvWriteNameToBuffer(),vTaskList(),
vTaskGetRunTimeStats()
use co routines 爲enable時啓用協程,啓用協程以後必須添加文件croutine.c
max co routine priorities 協程的有效優先級數目,通常爲2
use timers 爲enable時啓用軟件定時器
timer task priority 軟件定時器優先級,可設置爲<=(configMAX_PRIORITIES-1)
timer queue length 軟件定時器隊列長度
timer task stack depth 軟件定時器任務堆棧大小,通常爲 (configMINIMAL_STACK_SIZE*2)
library lowest interrupt priority 中斷最低優先級
library max syscall interrupt priority 系統可管理的最高中斷優先級