衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FreeRTOS_006_FreeRTOSConfig.h配置文件 (三)

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-14 11:10 ? 次閱讀

寫在前面

關于FreeRTOSConfig.h配置文件里面的內容除了“通用配置”之外,其他配置的內容初學者用的相對較少,理解起來也相對難一點。為了讓初學者有一個大概的了解,本文依然繼續講述關于FreeRTOSConfig.h配置的內容,后期會結合應用更進一步講述關于FreeRTOSConfig.h的內容。

TIMERS配置

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
收藏 人收藏

    評論

    相關推薦

    如何導出交換機的配置文件

    在網絡管理中,導出交換機的配置文件是一項關鍵任務,它有助于備份、審計、遷移或恢復網絡配置。本文將詳細介紹如何導出交換機配置文件,涵蓋多種方法,適用于不同場景和需求。文章內容將圍繞幾種常見的導出方法展開,包括通過命令行接口(CLI
    的頭像 發表于 02-02 17:20 ?149次閱讀

    linux網卡配置文件

    網卡配置文件 ? ? 網卡目錄[root@localhost opt]# ls /etc/sysconfig/network-scripts/網卡文件名字,和我們ifconfig看到的一樣
    的頭像 發表于 12-10 10:09 ?290次閱讀

    springboot的項目如何既要用jar包啟動,同時還可以為不同的機房設置不同的配置文件

    作者:京東科技 李意文 1、首先先把配置文件從jar中抽離 示例代碼: ? org.apache.maven.plugins maven-jar-plugin 3.2.0
    的頭像 發表于 10-19 16:48 ?584次閱讀
    springboot的項目如何既要用jar包啟動,同時還可以為不同的機房設置不同的<b class='flag-5'>配置文件</b>

    HID over GATT配置文件(HOGP)低功耗藍牙

    電子發燒友網站提供《HID over GATT配置文件(HOGP)低功耗藍牙.pdf》資料免費下載
    發表于 09-26 11:01 ?1次下載
    HID over GATT<b class='flag-5'>配置文件</b>(HOGP)低功耗藍牙

    確定LDO的任務配置文件兼容性

    電子發燒友網站提供《確定LDO的任務配置文件兼容性.pdf》資料免費下載
    發表于 09-24 10:44 ?0次下載
    確定LDO的任務<b class='flag-5'>配置文件</b>兼容性

    freertos最多支持多少個任務

    以下幾個因素: 系統資源 :FreeRTOS能夠支持的任務數量受到系統硬件資源的限制,特別是處理器的RAM大小和性能。RAM用于存儲任務的控制塊(TCB)和任務堆棧,因此RAM越大,理論上可以支持的任務數量就越多。 配置選項 :Free
    的頭像 發表于 09-02 14:21 ?1184次閱讀

    InModbus2配置文件的注意事項

    大家好,由于最近經常有人問我InModbus2的配置文件如何編輯來達到想要的結果,所以發布一些關于InModbus2的配置文件注意事項,后期我還會發布一些示例來供大家參考讓大家都掌握一些簡單
    發表于 07-26 07:21

    在Nucleo-H743ZI2板上運行wifi_scan示例,啟用FreeRTOS時堆部分被禁用,為什么?

    設備或上下文兼容性問題" 。 此外,當我嘗試生成代碼時,一些重要文件丟失了,包括 lwipopts.hFreeRTOSConfig.h. 您能否告訴我解決這些問題的必要步驟?
    發表于 07-03 08:17

    鴻蒙開發Ability Kit程序框架服務:FA模型應用配置文件

    應用配置文件中包含應用配置信息、應用組件信息、權限信息、開發者自定義信息等,這些信息在編譯構建、分發和運行解決分別提供給編譯工具、應用市場和操作系統使用。
    的頭像 發表于 06-24 14:49 ?412次閱讀
    鴻蒙開發Ability Kit程序框架服務:FA模型應用<b class='flag-5'>配置文件</b>

    鴻蒙開發:【Stage模型應用配置文件

    應用配置文件中包含應用配置信息、應用組件信息、權限信息、開發者自定義信息等,這些信息在編譯構建、分發和運行解決分別提供給編譯工具、應用市場和操作系統使用。
    的頭像 發表于 06-15 09:15 ?1779次閱讀
    鴻蒙開發:【Stage模型應用<b class='flag-5'>配置文件</b>】

    請問如何修改FreeRTOS的configTICK_RATE_HZ?

    /esp_additions/include/freertos/FreeRTOSConfig.h\", \"owner\": \"cpp\"
    發表于 06-12 06:34

    CYW4373是否支持SPP和GATT配置文件

    CYW4373 是否支持 SPP 和 GATT 配置文件
    發表于 05-31 06:13

    BlueRNG-M2SA運用FreeRTOS空間不足怎么解決?

    溢出1788bytes FreeRTOSConfig.h 其中的參數有牽扯到空間大小,所以我進行調整尺寸后即可以編譯過,但燒錄完后并不會有動作,請問有人有試過合拼FreeRTOS成功的案例嗎?
    發表于 03-22 07:26

    支持CiA402驅動器配置文件的示例程序用于通過EtherCAT?通信進行電機控制

    電子發燒友網站提供《支持CiA402驅動器配置文件的示例程序用于通過EtherCAT?通信進行電機控制.pdf》資料免費下載
    發表于 02-21 14:21 ?2次下載
    支持CiA402驅動器<b class='flag-5'>配置文件</b>的示例程序用于通過EtherCAT?通信進行電機控制

    Linux系統中的配置文件

    系統文件,用于配置主機名與 IP 地址的映射關系。當系統需要解析主機名時,會首先查找 /etc/hosts 文件,如果在該文件中找到了相應的映射關系,則直接使用對應的 IP 地址進行通
    發表于 02-19 17:36 ?1393次閱讀
    博狗备用| 百家乐官网网页qq| 樟树市| 六合彩走势图| 赌博百家乐官网赢钱方法| 皇冠备用网址| 三易博娱乐城| 大发888心水论坛| 上游棋牌下载| 大发百家乐的玩法技巧和规则| 百家乐官网桌套装| 678百家乐官网博彩娱乐场| 注册百家乐官网送彩金| 皇冠开户网址| tt娱乐城官网| ea平台| 都安| 百家乐官网真钱娱乐| 赌百家乐官网赢的奥妙| 伯爵百家乐官网娱乐城| 真钱百家乐官网开户试玩 | 博彩游戏机| 足球投注技巧| 足球平台开户| 四会市| 百家乐官网真人娱乐场| 真人百家乐官网888| 百家乐官网最佳下注方法| 百家乐官网楼梯缆| 百家乐官网太阳城真人游戏| 都坊百家乐官网的玩法技巧和规则 | 百家乐官网新规则| 百家乐官网国际娱乐网| 百家乐官网赌法| 百家乐官网筹码币方形| 南京百家乐官网赌博现场被| 免费百家乐官网追号软件| 高级百家乐出千工具| 爱拼百家乐的玩法技巧和规则| 大发888游戏平台银河| 宁陵县|