STM32CubeMX 配置 FreeRTOS - Config parameters FreeRTOS - Include parameters

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                              系統可管理的最高中斷優先級

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章