FreeRTOS源碼組織(翻譯)

FreeRTOS源碼組織(翻譯)

每個RTOS接口都帶有一個預配置的演示應用程序,該程序已經構建了必要的RTOS源文件,幷包含必要的RTOS頭文件。強烈建議將所提供的演示用作所有基於FreeRTOS的新應用程序的基礎。提供此頁面是爲了幫助定位和理解所提供的項目。

基本目錄結構

FreeRTOS下載包括每個處理器接口和每個演示應用程序的源代碼。將所有接口都放在一個下載包中大大簡化了分發,但是文件的數量似乎令人生畏。但是目錄結構非常簡單,FreeRTOS實時內核只包含在3個文件中(如果需要軟件定時器事件組或協例程功能,則需要額外的文件)。

頂部目錄

從頂部開始,下載被分成兩個子目錄;FreeRTOS FreeRTOS-Plus。如下圖所示:

±-- FreeRTOS-Plus || 包含FreeRTOS+組件和演示項目。.
|
±-- FreeRTOS || 包含FreeRTOS實時內核源文件和演示項目.

在這裏插入圖片描述

FreeRTOS-Plus目錄

FreeRTOS-Plus目錄樹包含多個readme文件,這些文件描述了它的內容。本頁其餘部分只涉及核心FreeRTOS內核源文件和演示項目,它們包含在另外兩個子目錄中,如下所示:

FreeRTOS
     |
     ±–Demo 包含演示應用程序項目。 .
     |
     | ±–Source 包含實時內核源代碼.

在這裏插入圖片描述
在這裏插入圖片描述

FreeRTOS/Source目錄。

  核心RTOS代碼包含在三個文件,這是所謂的被稱爲tasks.c,queue.c和list.c.這三個文件都在FreeRTOS/Source directory。同樣的目錄包含兩個可選的文件名爲timers.c和croutine.c ,分別實現軟件定時器和協同例程功能。
  每個受支持的處理器體系結構都需要特定於體系結構的RTOS代碼。這是RTOS可移植層,它位於FreeRTOS/Source/ portable /[compiler]/[architecture]子目錄中,其中[compiler]和[architecture]分別是用於創建接口的編譯器和接口運行的架構。
  由於內存管理頁面上所述的原因,樣例堆分配方案也位於可移植層。各種樣例heap_x.c文件位於FreeRTOS/Source/portable/MemMang目錄中。

可移植層目錄的例子:

  • 如果使用GCC編譯器的TriCore 1782接口:
    特定於TriCore的文件(port.c)位於FreeRTOS/Source/Portable/GCC/TriCore_1782目錄中。除了FreeRTOS/Source/Portable/MemMang之外的所有其他FreeRTOS/Source/Portable/ Portable子目錄都可以忽略或刪除。
  • 如果使用Renesas RX600接口與IAR編譯器:
    RX600特定文件(port.c)位於FreeRTOS/Source/Portable/IAR/RX600目錄中。除了FreeRTOS/Source/Portable/MemMang之外的所有其他FreeRTOS/Source/Portable/ Portable子目錄都可以忽略或刪除。
  • 所有的接口都是如此…

FreeRTOS
     |
     ±Source 核心FreeRTOS內核文件
          |
          ±include 核心FreeRTOS內核頭文件
          |
          ±Portable 處理器特定的代碼。
               |
               ±Compiler x 編譯器x支持的所有接口
               ±Compiler y 編譯器y支持的所有接口
               ±MemMang 示例堆實現

在這裏插入圖片描述

FreeRTOS/demo目錄:

  FreeRTOS下載還包含每個處理器體系結構和編譯器接口的演示應用程序。演示應用程序的大部分代碼對所有接口都是通用的,並且包含在FreeRTOS/ demo / common / minimum目錄中(FreeRTOS/ demo / common /Full目錄中的代碼是遺留的,僅供PC接口使用)。
  其餘的FreeRTOS/Demo子目錄包含用於構建單個演示應用程序的預配置項目。這些目錄的命名是爲了指示它們所關聯的接口。每個RTOS接口都有自己的web頁面,詳細說明了可以在其中找到該接口的演示應用程序的目錄。

  • 如果構建針對英飛凌三板硬件的TriCore GCC演示應用程序:
    TriCore演示應用程序項目文件位於FreeRTOS/ demo /TriCore_TC1782_TriBoard_GCC目錄中。FreeRTOS/Demo目錄(公共目錄除外)中包含的所有其他子目錄都可以忽略或刪除。
  • 如果構建針對RX62N RDK硬件的Renesas RX6000 IAR演示應用程序:
    IAR工作區文件位於FreeRTOS/Demo/RX600_RX62N-RDK_IAR目錄中。FreeRTOS/Demo目錄(公共目錄除外)中包含的所有其他子目錄都可以忽略或刪除。
  • 所有的港口都是如此…

FreeRTOS/Demo目錄的結構如下所示。

FreeRTOS
       |
       ±Demo
           |
            ±Common 所有演示使用的演示應用程序文件。
            ±Dir x 接口x的演示應用程序構建文件
           ±Dir y 接口y的演示應用程序構建文件

在這裏插入圖片描述

創建自己的應用程序

[關於創建一個新的FreeRTOS應用程序頁面提供了更多的細節]
提供預配置的演示應用程序,以確保項目已經存在,其中包含正確的RTOS內核源文件,並設置了正確的編譯器選項,從而以最小的用戶工作量構建。因此,強烈建議通過修改現有的預配置演示應用程序來創建新應用程序。要做到這一點,可以首先構建一個現有的演示應用程序,以確保可以實現一個乾淨的構建,然後用自己的應用程序源文件逐步替換FreeRTOS/ demo目錄中包含的項目文件。

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