移植 FreeRTOS
以正點原子的跑馬燈工程為基礎,在上面擴展。在基礎工程中新建一個名為 FreeRTOS 的文件夾:
創(chuàng)建 FreeRTOS 文件夾以后就可以將 FreeRTOS 的源碼添加到這個文件夾中,添加完以后 如圖所示:
portable 文件夾,我們只需要留下 keil、MemMang 和 RVDS 這三個文件夾,其他的都可以刪除掉:
打開基礎工程,新建分組 FreeRTOS_CORE 和 FreeRTOS_PORTABLE,然后向這兩個分組 中添加文件
分組 FreeRTOS_CORE 中的文件就是 FreeRTOS 源碼。FreeRTOS_PORTABLE 分組中的 port.c 和
heap_4.c ,port.c 是 RVDS 文件夾下的 ARM_CM3 中的文件,因為 STM32F103 是 Cortex-M3 內核的,因此要選擇ARM_CM3 中的 port.c 文件。heap_4.c 是 MemMang 文件夾中的,前面說了MemMang 是跟內存管理相關的,里面有 5 個 c文件:heap_1.c、heap_2.c、heap_3.c、heap_4.c 和 heap_5.c。這 5 個 c 文件是五種不同的內存管理方法。這 5個文件都可以用來作為 FreeRTOS 的內存管理文件,只是它們的實現(xiàn)原理不同,各有利弊。這里我們選擇 heap_4.c。
添加相應的頭文件路徑:
頭文件路徑添加完成以后編譯一下,看看有沒有什么錯誤,結果會發(fā)現(xiàn)提示打不開 “FreeRTOSConfig.h”這個文件
這是因為缺少 FreeRTOSConfig.h 文件,這個文件在哪里找呢?你可以自己創(chuàng)建,顯然這不是一個明智的做法。我們可以找找 FreeRTOS的官方移植工程中會不會有這個文件,打開 FreeRTOS 針對STM32F103 的移植工程文件,文件夾是CORTEX_STM32F103_Keil,打開以后官方的移植工程中有這個文件,我們可以使用這個文件,但是建議大家使用正點原子例程中的FreeRTOSConf.h 文件,這個文件是 FreeRTOS 的系統(tǒng)配置文件,不同的平臺其配置不同。
FreeRTOSConfig.h 是何方神圣?看名字就知道,他是 FreeRTOS的配置文件,一般的操作系統(tǒng)都有裁剪、配置功能,而這些裁剪及配置都是通過一個文件來完成的,基本都是通過宏定義來完成對系統(tǒng)的配置和裁剪的。
-
單片機
+關注
關注
6037文章
44558瀏覽量
635400 -
STM32
+關注
關注
2270文章
10900瀏覽量
356091 -
文件
+關注
關注
1文章
566瀏覽量
24748 -
FreeRTOS
+關注
關注
12文章
484瀏覽量
62182
發(fā)布評論請先 登錄
相關推薦
評論