91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

FreeRTOS實時操作系統結構是什么

發布時間:2022-04-06 11:08:48 來源:億速云 閱讀:197 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“FreeRTOS實時操作系統結構是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“FreeRTOS實時操作系統結構是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

     FreeRTOS可以被移植到很多不同架構的處理器和編譯器。每一個RTOS移植都附帶一個已經配置好的演示例程,可以方便快速啟動開發。更好的是,每個演示例程都附帶一個說明網頁,提供如何定位RTOS演示工程源代碼、如何編譯演示例程、如何配置硬件平臺的全部信息。

    1.查找相關文檔頁

    FreeRTOS具有詳細的開發說明文檔,可以在其官方網站上查看。首先打開官方網站,目前的網站地址是:http://www.freertos.org。在首頁左側的導航欄中,展開"Supported Devices & Demos"菜單項,單擊"OfficiallySupported Demos"鏈接,去查看FreeRTOS支持的微控制器制造商列表。單擊微控制器制造商名稱,進入具體的制造商文檔頁面列表。

    2.獲取RTOS源代碼

    到FreeRTOS官方網站下載源碼,下載包包含RTOS內核源碼和官方移植演示工程。解壓縮后放到合適的目錄下。(如果你不想訪問慢吞吞的國外網站,我在CSDN做了一個鏡像,可以 點擊此處 ,這篇文章中有最新的大部分FreeRTOS源碼包下載鏈接)

           每一個RTOS移植包都附帶有預先配置好的演示例程 ,已經創建好了所有必須的RTOS源文件并包含了必須的RTOS頭文件。推薦在提供的演示例程的基礎上進行自己的FreeRTOS應用編程。

    3.FreeRTOS源碼目錄結構

    FreeRTOS下載包中包含每個處理器移植和演示例程的源碼。將所有移植包放入一個下載文件中大大簡化了分類處理,但是下載包中的文件數量也多的驚人!無論如何,目錄結構還是非常簡單的,并且FreeRTOS實時內核僅僅只有3個文件(如果需要,還有一些附加文件,比如軟件定時器、事件組以及協程)。

          下載包目錄包含兩個子目錄:FreeRTOS和FreeRTOS-Plus。

    FreeRTOS-Plus          包含FreeRTOS+組件和演示例程;
    FreeRTOS                   包含FreeRTOS實時內核源文件和演示例程。

    FreeRTOS-Plus目錄樹包含多個自述文件(Readme)。接下來本文只描述FreeRTOS內核的核心源文件和演示例程,它們又被分成兩個主要的子目錄,如下所示:

        FreeRTOS
          |+-- Demo     包含演示例程工程;
          |+-- Source   包含實時內核源文件。    

    RTOS代碼的核心包含在三個文件中:tasks.c、queue.c、list.c。這三個文件位于FreeRTOS/Source目錄。在該目錄下還包含三個可選的文件:timers.c、event_groups.c、croutine.c,分別實現軟件定時、事件組和協程功能。

          FreeRTOS/Source目錄結構如下所示:

        FreeRTOS
            | +-- Source  FreeRTOS內核代碼文件
            |   |+-- include          FreeRTOS內核代碼頭文件
            |   |+-- Portable         處理器特定代碼
            |   |  |+--Compiler x     支持編譯器x的所有移植包
            |   |  |+--Compiler y     支持編譯器y的所有移植包
            |   |  |+--MemMang        內存堆實現范例      

    每個支持的處理器架構需要一小段與處理器架構相關的RTOS代碼。這個是RTOS移植層,它位于FreeRTOS/Source/Portable/[相應編譯器]/[相應CPU架構]子目錄。

    對于FreeRTOS,堆棧設計也屬于移植層。FreeRTOS/Source/portable/MemMang目錄下heap_x.c文件給出了多種堆棧方案,后續文章將會詳細介紹堆棧操作。

    移植層目錄舉例:

    如果在GCC編譯器下使用TriCore1782:TriCore特定文件(port.c)位于FreeRTOS/Source/Portable/GCC/TriCore_1782目錄下。FreeRTOS/Source/Portable 子目錄下的所有文件,除了FreeRTOS/Source/Portable/MemMang目錄外都可以忽略或刪除。

    如果在IAR編譯器下使用Renesas RX600:RX600特定文件(port.c)位于FreeRTOS/Source/Portable/IAR/RX600目錄下。FreeRTOS/Source/Portable 子目錄下的所有文件,除了FreeRTOS/Source/Portable/MemMang目錄外都可以忽略或刪除。

    FreeRTOS下載包中還包含各種處理器架構和編譯器的演示例程。大多數的演示例程代碼對所有移植都是通用的,位于FreeRTOS/Demo/Common/Minimal目錄。FreeRTOS/Demo/Common/Full目錄下的是歷史遺留代碼,僅用于PC。

          FreeRTOS/Demo目錄結構如下所示:

        FreeRTOS
          |+-- Demo
          |  |+-- Common          所有例程都可以使用的演示例程文件
          |  |+-- Dir x           用于x平臺的演示例程工程文件
          |  |+-- Dir y           用于y平臺的演示例程工程文件     

    FreeRTOS/Demo目錄下剩余的子目錄包含預先配置好的工程,可以用于構建個人演示例程。子目錄的命名與移植平臺和編譯器相關。每一個RTOS移植包都有自己的說明文檔。

    演示例程目錄舉例:

    如果以英飛凌TriBoard開發板硬件構建TriCoreGCC演示例程:TriCore演示例程工程文件位于FreeRTOS/Demo/TriCore_TC1782_TriBoard_GCC目錄。目錄FreeRTOS/Demo下的所有子目錄(Common目錄除外)都可以忽略或刪掉。

    如果以RX62N硬件構建Renesas RX600 IAR演示例程:IAR工程文件位于FreeRTOS/Demo/RX600_RX62N-RDK_IAR目錄。目錄FreeRTOS/Demo下的所有子目錄(Common目錄除外)都可以忽略或刪掉。

    讀到這里,這篇“FreeRTOS實時操作系統結構是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    紫阳县| 东安县| 和政县| 延津县| 天台县| 通江县| 喜德县| 桐柏县| 界首市| 葫芦岛市| 铜鼓县| 武宁县| 准格尔旗| 嘉黎县| 资源县| 津南区| 衡阳县| 贡觉县| 观塘区| 吉林市| 龙海市| 封开县| 蒙自县| 平安县| 板桥市| 札达县| 榕江县| 台江县| 蓝山县| 类乌齐县| 隆德县| 荣昌县| 剑河县| 阳东县| 登封市| 进贤县| 五家渠市| 万源市| 兴国县| 西安市| 新沂市|