最近在學嵌入式操作系統(tǒng),我在正點原子精英版的上面做任務管理和處理,采用的是FREERTOS操作系統(tǒng),而關于FREERTOS操作系統(tǒng)有很多介紹。第一步 FREERTOS簡介
FreeRTOS是一個迷你的實時操作系統(tǒng)內核。作為一個輕量級的操作系統(tǒng),功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能、軟件定時器、協(xié)程等,可基本滿足較小系統(tǒng)的需要。由于RTOS需占用一定的系統(tǒng)資源(尤其是RAM資源),只有μC/OS-II、embOS、salvo、FreeRTOS等少數實時操作系統(tǒng)能在小RAM單片機上運行。相對μC/OS-II、embOS等商業(yè)操作系統(tǒng),FreeRTOS操作系統(tǒng)是完全免費的操作系統(tǒng),具有源碼公開、可移植、可裁減、調度策略靈活的特點,可以方便地移植到各種單片機上運。
第二步 準備工作
FREERTOS系統(tǒng) ,一個工程,越簡單越好,這里我就用的庫函數版本的LED工程,在LED文件里創(chuàng)建FREERTOS文件夾來放FREERTOS源代碼,然后就是 portable文件夾里面只剩下這三個文件,keli、MemMang、RVDS,
這些弄好之后,打開工程添加文件夾FREERTOS_CODE和FREERTOS_PORTABLE倆個文件夾,這是我添加的以后的(這里我們的用的ARM3的內核所以選用ARM3),還有對應的.h的頭文件也要添加進去,
然后編譯會出現錯誤,這是因為缺少了一個頭文件FreeRTOSConfig.h,我們從別的demo復制一個過來,然后放在include文件夾里面,再進行編譯
然后又會出現倆個錯誤
我們去相應的文件里面去修改,
然后編譯就沒有錯誤了,因為我們用的是正點原子的代碼,所以我們要開啟FREETRTOS的系統(tǒng)的時鐘,雖然沒有錯誤,但是FREERTOS還是不能用
找到sys.c文件,然后找到sys.h文件,把這個宏定義改成1
然后我們接著修改,把這倆個的 includes.h都改成FREERTOS.h
然后編譯,會報錯誤,因為重復的定義了,
我們點擊對應的錯誤,就能到錯誤的地方,要是 找不到就找對應的.c文件
然后編譯又會出現錯誤,我們接著修改delay.c文件
我們最后這步添加一個延時函數。
現在我們的FREERTOS就可以用了
這個代碼是我們測試用的,以后會講到,所以可以先從別處復制先來,測試一下自己是否移植成功。
以下的是代碼和我自己一直好的文件,哪個地方寫的不好,請大家見諒!!
全部資料51hei下載地址:
相關文件.7z
(10.53 MB, 下載次數: 92)
2020-11-27 23:17 上傳
點擊文件名下載附件
|