FreeRTOS學習 第一講 操作系統的移植

FreeRTOS學習 第一講 操作系統的移植

基本介紹:
系統分類
1)前後臺系統
while(1)循環 適用情況(簡單和小的需求、處理需求相對來說較少)
2)實時操作系統
實時操作系統
常見的操作系統(FreeRTOS、 Ucos RTOS、RT-Thread)
核心內容:實時內核(特點:內核決定運行哪個任務,何時停止)

優先級排序:

注:任務運行最高的就緒態的任務

移植操作系統的流程(以F429爲例 )
1、 源碼下載
下載好的文件整體構成
在這裏插入圖片描述

2、點擊進入FreeRTOS(非FreeRTOS-Plus)
內部文件整體構成
在這裏插入圖片描述

3、打開進入Source(核心文件,後續需要分析和理解)

在這裏插入圖片描述

二、移植
(STM32F429的移植,HAL庫測試)
1、拷貝F429_跑馬燈文件到桌面(便於操作)
在這裏插入圖片描述
2、2、 將Free-RTOS下載的源碼也放置到桌面
在這裏插入圖片描述
3、 在工程中新建一個工程文件夾(取名叫 Free-RTOS)
在這裏插入圖片描述
4、 複製FreeRTOS源碼到該文件中
在這裏插入圖片描述
複製到的位置在圖下所示的位置
在這裏插入圖片描述
拷貝結果如下
在這裏插入圖片描述
5、 在上述的portable文件夾中只保留三個文件(keil、MemMang、RVDS)
在這裏插入圖片描述
最後文件中如下所示:
在這裏插入圖片描述
6、添加FreeRTOS文件到工程中
新建兩個分支(組)
分別叫
FreeRTOS_CORE
FreeRTOS_PORTABLE
在這裏插入圖片描述
添加C文件
在FreeRTOS_CORE
在這裏插入圖片描述
添加文件
在這裏插入圖片描述
這兩個文件在以下目錄中
在這裏插入圖片描述
在這裏插入圖片描述
7、 添加.h文件(添加.h路徑)
在這裏插入圖片描述
提示8個錯誤,還有一個FreeRTOSConfig.h文件丟失
在這裏插入圖片描述
解決方案: 添加FreeRTOSConfig.h文件,在源文件的DEMO裏面有該選項
在這裏插入圖片描述

在這裏插入圖片描述

注:是放置在項目裏面拷貝過去的FreeRTOS文件夾下的include文件夾裏面,然後再次編譯

出現下列錯誤
在這裏插入圖片描述
此時更改FreeRTOSConfig.h文件中的定義
更改前
在這裏插入圖片描述
更改後
在這裏插入圖片描述
再次編譯後出現以下錯誤,這裏出現重複定義
在這裏插入圖片描述

解決方案:在stm32f4xxxx_it.c那邊進行屏蔽

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

屏蔽以後再編譯,出現以下報錯
在這裏插入圖片描述
修改文件
在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
開始編譯
在這裏插入圖片描述

編譯完成以後,無錯誤無警告,此時開始下一步編譯計劃.

下一步開始選擇和替換工程文件中的system文件夾。
在這裏插入圖片描述
編譯後出現以下錯誤
在這裏插入圖片描述
解決方案,在FeeRTOSConfig.h中屏蔽以下文件
在這裏插入圖片描述
注:這裏是屏蔽掉最後一個,不是三個(屏蔽SysTick_Handler)

經過上述處理後編譯不出現錯誤。(注:需要視頻學習可以參照正點原子FreeRTOS移植視頻可以學習。)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章