設置中文的方法直接拉到最底下
之前玩單片機一直使用的是前后台系統,什么都是模塊硬懟,中斷和循環寫好之后,加上一些輸入輸出感覺什么都可以肝出來,但是一直感覺自己沒什么提升,覺得單片機已經走到頭了,之后才發現是自己沒了解到,現在重新進行新的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顯示中文亂碼的問題,更改如下設置:

就可以了
