Ⅰ
寫在前面
關于FreeRTOSConfig.h配置文件里面的內容除了“通用配置”之外,其他配置的內容初學者用的相對較少,理解起來也相對難一點。為了讓初學者有一個大概的了解,本文依然繼續講述關于FreeRTOSConfig.h配置的內容,后期會結合應用更進一步講述關于FreeRTOSConfig.h的內容。
Ⅰ
TIMER即定時器,在RTOS中的TIMER屬于軟件定時。FreeRTOS的定時器精度不高,會隨著定時的增加而改變,特別是TIMER任務優先級較低,高優先級占用資源的情況下。
若要使用高精度的定時,還是最后使用硬件的定時器(現在處理器一般都有多個硬件TIMER)。
1.configUSE_TIMERS
是否使用軟件定時器
配置為0:不使用
配置為1:使用
其他許多相關的功能都需要結合該配置才能使用,使用時需要注意是否關聯。
2.configTIMER_TASK_PRIORITY
軟件定時器任務優先級
軟件定時器其實也是需要創建一個任務,創建方式和我們常規的一樣,只是它是有系統內核完成,不用我們自己寫創建任務代碼。
這里的這個優先級就是定時器任務的優先級。
3.configTIMER_QUEUE_LENGTH
軟件定時器命令隊列長度
關于TIMER的命令隊列牽涉的知識相對復雜點,后期進一步講述,可看下圖:
4.configTIMER_TASK_STACK_DEPTH
分配給軟件定時器的堆棧空間
Ⅲ
CO_ROUTINES配置
CO_ROUTINES這個不好翻譯,網上都叫協同程序,或者合作程序,理解為協同一起使用的程序,后期結合應用講述。
1.configUSE_CO_ROUTINES
是否使用CO_ROUTINES
配置為0:不使用
配置為1:使用
2.configMAX_CO_ROUTINE_PRIORITIES
CO_ROUTINE優先級
Ⅳ
MEMORY配置
內存分配相關的配置,這里的配置與heap_x.c有關,后面會再次進行講述。
1.configSUPPORT_STATIC_ALLOCATION
是否支持靜態分配
配置為0:不支持
配置為1:支持
2.configSUPPORT_DYNAMIC_ALLOCATION
是否支持動態分配
配置為0:不支持
配置為1:支持
3.configTOTAL_HEAP_SIZE
分配給系統的堆棧
創建任務,堆棧,靜態、動態都分配的內存都來自這里。
4.configAPPLICATION_ALLOCATED_HEAP
APP使用哪里分配的堆
配置為0:使用系統分配的堆
配置為1:使用外部分配的堆
默認使用系統分配的堆,見下面定義:
#if(configAPPLICATION_ALLOCATED_HEAP == 1 )
extern uint8_t ucHeap[configTOTAL_HEAP_SIZE];
#else
static uint8_t ucHeap[configTOTAL_HEAP_SIZE];
#endif
Ⅴ
RUN_TIME_STATS配置
運行時信息統計配置
1.configGENERATE_RUN_TIME_STATS
是否生成統計信息
配置為0:否
配置為1:是
2.configUSE_TRACE_FACILITY
是否協助執行可視化和跟蹤
配置為0:否
配置為1:是
這里會添加額外的結構體來實現。
3.configUSE_STATS_FORMATTING_FUNCTIONS
是否統計相關的功能
配置為0:否
配置為1:是
設置宏configUSE_TRACE_FACILITY和configUSE_STATS_FORMATTING_FUNCTIONS為1會編譯vTaskList()和vTaskGetRunTimeStats()函數。如果將這兩個宏任意一個設置為0,上述兩個函數不會被編譯。
Ⅵ
其他配置
這里簡單綜合講述一下各項配置
1.configASSERT
斷言配置
2.Interrupt相關
configKERNEL_INTERRUPT_PRIORITY:內核中斷優先級
configMAX_SYSCALL_INTERRUPT_PRIORITY:系統調用最大的優先級
configMAX_API_CALL_INTERRUPT_PRIORITY:API調用的最大優先級
這一節與(Cortex)內核硬件中斷有關。
3.INCLUDE配置
#define INCLUDE_vTaskPrioritySet 1
#define INCLUDE_uxTaskPriorityGet 1
#define INCLUDE_vTaskDelete 1
這里很好理解,是否包含這一些內容,在UCOS中比較常見。
-
定時器
+關注
關注
23文章
3255瀏覽量
115380 -
FreeRTOS
+關注
關注
12文章
484瀏覽量
62398 -
config
+關注
關注
0文章
15瀏覽量
4661
發布評論請先 登錄
相關推薦
評論