正點原子探索者stm32的FreeRTOS學習01和mdk5設置中文


設置中文的方法直接拉到最底下

 

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

 

 

就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM