針對各個處理器所做的移植,以及其對應的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對於每一種處理器架構和編譯器,freertos原始檔包裡都有對應的demo應用程式。大多數demo應用程式共用的檔案,位於 freertos/demo/common/minimal 目錄下。(freertos/demo/common/full 目錄下的檔案無需理會,這些檔案在將freertos移植至pc時才會用到)。¦+-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 目錄下的其它子目錄,每乙個都對應某一處架構的處理器及編譯器。這一點可以從其目錄名可以看出來,舉例如下:
那麼,與 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 事件標...