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