了解FreeRTOS源檔案目錄結構

2022-05-16 09:18:54 字數 2395 閱讀 5257

針對各個處理器所做的移植,以及其對應的demo,數目如此多的檔案,全部都存放在同乙個壓縮檔案裡。這樣做極大地簡化了freertos的發布過程,但是面對這麼多的原始檔,也很可能會令新手望而生畏。其實,freertos原始檔包的目錄結構非常簡潔,更出人意料的是,freertos實時核心僅僅只包含3個檔案(如果需要用到software timer, event group or co-routine功能,則還得包含其他檔案)。

解壓freertos原始檔包之後,可以看到兩個子目錄,freertos and freertos-plus。如下圖所示:

+-freertos-plus    contains freertos+ components and demo projects.

¦+-freertos contains the freertos real time kernel source

files and demo projects

freertos-plus目錄裡是一些元件及其demo,而freertos目錄下,又包含如下兩個子目錄:

freertos¦¦

+-source contains the real time kernel source code.

與核心相關的檔案僅有3個,它們分別是 tasks.c, queue.c 和 list.c. 它們位於freertos/source目錄之內。在這個目錄下,還包含 timers.c and croutine.c 這兩個檔案,它們分別實現 software timer 和 co-routine 功能。

對於每一種架構的處理器,都有與之相關的一部分rtos**,它們被稱之為rtos可移植層,位於freertos/source/portable/[compiler]/[architecture]子目錄中,其中

compiler為使用者所使用的編譯器,

architecture是指具體某一種架構。舉例如下:

那麼,與 tricore 相關的檔案 (port.c),則位於 freertos/source/portable/gcc/tricore_1782 目錄下。 如此一來,所有 freertos/source/portable 目錄下的子目錄,除了 freertos/source/portable/memmang 之外,其它的都可以一律刪掉。

那麼,與 rx600 相關的檔案(port.c), 則位於 freertos/source/portable/iar/rx600 目錄下。 如此一來,所有 freertos/source/portable 目錄下的子目錄,除了 freertos/source/portable/memmang 之外,其它的都可以一律刪掉。

freertos/source 目錄樹如下所示:

freertos

¦+-source the core freertos kernel files

¦+-include the core freertos kernel header files

¦+-portable processor specific code.

¦+-compiler x all the ports supported for compiler x

+-compiler y all the ports supported for compiler y

+-memmang the sample heap implementations

對於每一種處理器架構和編譯器,freertos原始檔包裡都有對應的demo應用程式。大多數demo應用程式共用的檔案,位於 freertos/demo/common/minimal 目錄下。(freertos/demo/common/full 目錄下的檔案無需理會,這些檔案在將freertos移植至pc時才會用到)。

freertos/demo 目錄下的其它子目錄,每乙個都對應某一處架構的處理器及編譯器。這一點可以從其目錄名可以看出來,舉例如下:

那麼,與 tricore 相應的demo應用程式則位於 freertos/demo/tricore_tc1782_triboard_gcc 目錄,如此一來,所有 freertos/demo 目錄下的子目錄(除開common子目錄外)都可以被忽略或刪除。

那麼,與 tricore 相應的demo應用程式則位於 freertos/demo/rx600_rx62n-rdk_iar  目錄,如此一來,所有 freertos/demo 目錄下的子目錄(除開common子目錄外)都可以被忽略或刪除。

freertos/demo 目錄樹如下所示:

freertos

¦+-demo

¦

對於新手,建議首先執行相應的demo,然後在此基礎之上,逐步將demo內的應用程式檔案替換成自己的應用程式檔案。

XCode 預設原始檔和build目錄

假設我們以hfe mac使用者登入mac系統,在xcode中建立乙個名為 test 的 command line 的工程,不改工程路徑,則預設的工程路徑是 預設的build目錄在 file project settings 中有顯示 上面建立的名為 test 的工程的build目錄可能就位於 tes...

了解FreeRTOS作業系統

1 與freertos核心有關的檔案數量為3個,分別是list.c queue.c tasks.c 該檔案位於freertos source 2 與記憶體分配有關的檔案共有5個,分別是heap 1.c,heap 2.c,heap 3.c,heap 4.c,heap 5.c。5個檔案只需選擇其中的1個...

FreeRtos 檔案結構

最核心的三個檔案 1 tasks.c 2 list.c 3 queue.c tasks.c 任務相關 list.c 為乙個雙向鍊錶 queue.c 佇列,訊號量用於任務間通訊 4 croutine.c 類似task.c 可以進行多任務排程,另一種方式進行除錯 5 event groups.c 事件標...