設定中文的方法直接拉到最底下
之前玩單片機一直使用的是前后臺系統,什么都是模塊硬懟,中斷和回圈寫好之后,加上一些輸入輸出感覺什么都可以肝出來,但是一直感覺自己沒什么提升,覺得單片機已經走到頭了,之后才發現是自己沒了解到,現在重新進行新的RTOS系統學習,以前學32剛好買了正點原子的stm32,剛好就順著原子哥的視頻先入入門,順便記錄下一些問題
RTOS系統全稱:Real TIme OS 實時作業系統,主要強調實時性,市面上有很多,例如:FreeRTOS UCOS RTX RT-Thread DJYOS等
RTOS作業系統的核心內容在于:實時內核!
可剝奪性內核,可以剝奪其他任務的CPU使用權,它總是運行就緒任務中的優先級最高的那個任務
FreeRTOS系統是一個可裁剪、可剝奪型的多任務內核,而且沒有任務數量限制,它提供了實時作業系統所需要的所有功能,并且是使用c和匯撰寫的,結構簡潔,可讀性很強!非常適合嵌入式入門學習

雙擊下載安裝,之后會有這些:

Plus是官方做的拓展功能,不是FreeRTOS的升級版

其中Source是內核原始碼
開始進行FreeRTOS移值操作
先在原子庫中打開一個工程模板,整體復制出來放在桌面:
在其目錄下面創建一個名為:FreeRTOS 的檔案夾

將FreeRTOS的原始碼復制在這個檔案夾下

在portable檔案下只留下這些:

然后打開工程,添加分組:

添加對應檔案:


下圖中 port.c在 實驗1 FreeRTOS移值\FreeRTOS\portable\RVDS\ARM_CM4F 路徑下

關于 heap_4.c 這個檔案是FreeRTOS的記憶體管理,有多種,這里先添加第四個,以后會學習
接著添加頭檔案路徑

接著需要添加FreeRTOS官方的demo

檔案路徑是:\FreeRTOS原始碼\FreeRTOSv9.0.0\FreeRTOS\Demo 找到上述檔案夾,打開:
這個demo是基于iar的,所以這個.h檔案我們要稍作修改,在下面

把這個檔案復制到工程中

工程中的 usart.c 檔案,第47行 在 _sys_exit(int x) 前加入 void
void _sys_exit(int x) 這是由于新版mdk支持性問題
由于FreeRTOS 官方給出的demo歷程是基于IAR的,但是這是使用的編譯器是mdk5,所以我們剛才復制過來的 FreeRTOS.h 是要進行修改:
打開 FreeRTOS.h 檔案,在87行可以看到這樣的

改為:
1 #if defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__)

接著下面的函式使能改為關閉:

接著去這里,將這幾個函式注釋掉


此時編譯,應該是完全沒有錯誤了
但是,還是無法使用的,我們將已經配置好 FreeRTOS 工程的 SYSTEM 復制替換掉我們自己新建的工程的 SYSTEM 檔案夾
然后將該宏定義屏蔽

接著再次編譯,無錯誤無警告,成功
補充:
關于MDK5顯示中文亂碼的問題,更改如下設定:

就可以了
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/285452.html
標籤:嵌入式
