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