Ⅰ
文件描述
目前(2017年08月)官網最新版本的FreeRTOS是V9.0.0(其他某些地方已經出現了V9.1.0),我們以官網最新為準,使用V9.0.0版本來進行講述。
解壓下載的FreeRTOSv9.0.0源碼,我們可以看見如下一些文件:
預覽:
1.FreeRTOS V9和之前版本相比
a.V9內核源碼(FreeRTOS/Source)有較大差異,其他部分(如Demo例程及FreeRTOS-Plus下)的代碼基本都一樣;
b.目錄結構一樣,也就是各個目錄下的文件一樣(只是文件里面內容有差別)。
2.文件描述
細心的朋友可能會發現,解壓后的源碼每一個目錄下都有一個“readme.txt”文件和一些網頁鏈接文件。這兩樣文件就是對所在目錄最好的描述,為了方便初學者,我簡單講述一下各層目錄及目錄下文件的意思。
第一層目錄:
FreeRTOS:包含Demo例程和內核源碼(比較重要,我們就需要提取該目錄下的大部分文件);
FreeRTOS-Plus:包含組件源碼和組件對應的Demo例程。這里組件可以理解為擴展功能,如:CLI(Command-Line Interface)命令行界面、FAT文件系統。針對初學者,這里的內容可以暫時不學。
New - Direct to Task Notifications:任務相關描述的網頁鏈接;
New - FreeRTOS+TCP:FreeRTOS與TCP/IP協議棧相關描述的網頁鏈接。上一篇文章有朋友留言說FreeRTOS沒有自己支持的GUI,我相信后面應該會增加屬于自己的GUI。
Quick_Start_Guide:快速指南,將指導你如何快速移植并在自己的平臺運行FreeRTOS。建議初學者多看看這個網頁下的內容。
readme:自述文件,講述該目錄下各個文件的文件。
Upgrading-to-FreeRTOS-9:版本升級相關說明的網頁鏈接。比如:向下兼容、創建任務靜態分配等更新說明:
-Backward Compatibility
-Completely Statically Allocated Systems
-Creating Tasks and Other RTOS Objects Using Statically Allocated RAM
-Forcing an RTOS Task To Leave the Blocked State
-Deleting Tasks
-Obtaining a Task Handle from the Task Name
-Other Changes
第二層目錄:
FreeRTOS\Demo:這個目錄下內容就是Deme例程,我們可以直接打開里面的工程文件,有對應的平臺(開發板)就可以跑起FreeRTOS提供的例程。
提示一下:這里的Demo例程很多都是比較老的,只是后面陸續有新增進來。拿CORTEX_STM32F103_Keil來說,這都是零幾年Uv2的老工程了。為什么我們需要重新移植,就是這例程太老了,不然我們都直接使用這里的工程了。
FreeRTOS\License:許可文件。
FreeRTOS\Source:內核源碼(不用說在,重要文件,移植就是提取該目錄文件)
links_to_doc_pages_for_the_demo_projects:例程說明,比較重要,詳細列出不同廠家的Demo例程并講述了每一個例程重要的信息,如下:
FreeRTOS-Plus\Demo:和上面的Demo類似,這里只是劃分為Plus里面。
FreeRTOS-Plus\Source:組件源代碼。
重要的一些目錄:
FreeRTOS\Source\portable\MemMang:內存管理,操作系統都有自己的內存管理,這里有五個源文件heap_1.c 至 heap_5.c。簡單來說,5種內存管理方式,我們只用一種。
FreeRTOS\Source\portable\IAR:關于EWARM相關的底層接口;
FreeRTOS\Source\portable\RVDS:關于MDK-ARM相關的底層接口;
Ⅱ
提取有用文件建立工程
我們以STM32F103 + MDK-ARM來舉例。
1.提取FreeRTOS中有用文件
通過上面的分析,相信大家對解壓后的文件都有所了解了,我們主要提取FreeRTOS\Source這個目錄下的文件 +FreeRTOS\Demo下對應芯片工程中的FreeRTOSConfig.h。
提示:FreeRTOS\Source\portable目錄下是與底層相關的接口,與底層關聯,我們許多都用不上,
我們主要提取三個文件:
MemMang:內存管理代碼;
IAR:使用EWARM相關的底層代碼;
RVDS:MDK-ARM相關的底層代碼;
2.建立工程
這一節建立工程的內容我不會從頭到尾講述,新建工程我已經講述的很詳細,不懂的可以參看我下面兩篇文章。我們只是需要在之前新建STM32工程的基礎上添加FreeRTOS相關源代碼即可。
1.MDK-ARM_新建軟件工程詳細過程
2.EWARM_新建軟件工程詳細過程
在MDK-ARM中添加之后,如下圖:
EWARM建立的工程、提取的文件、新建的工程,將在下一篇文章中為大家呈現。
-
STM32
+關注
關注
2270文章
10900瀏覽量
355985 -
源碼
+關注
關注
8文章
641瀏覽量
29208 -
FreeRTOS
+關注
關注
12文章
484瀏覽量
62173
發布評論請先 登錄
相關推薦
評論