|
最近在學(xué)嵌入式操作系統(tǒng),我在正點(diǎn)原子精英版的上面做任務(wù)管理和處理,采用的是FREERTOS操作系統(tǒng),而關(guān)于FREERTOS操作系統(tǒng)有很多介紹。第一步 FREERTOS簡(jiǎn)介
FreeRTOS是一個(gè)迷你的實(shí)時(shí)操作系統(tǒng)內(nèi)核。作為一個(gè)輕量級(jí)的操作系統(tǒng),功能包括:任務(wù)管理、時(shí)間管理、信號(hào)量、消息隊(duì)列、內(nèi)存管理、記錄功能、軟件定時(shí)器、協(xié)程等,可基本滿足較小系統(tǒng)的需要。由于RTOS需占用一定的系統(tǒng)資源(尤其是RAM資源),只有μC/OS-II、embOS、salvo、FreeRTOS等少數(shù)實(shí)時(shí)操作系統(tǒng)能在小RAM單片機(jī)上運(yùn)行。相對(duì)μC/OS-II、embOS等商業(yè)操作系統(tǒng),F(xiàn)reeRTOS操作系統(tǒng)是完全免費(fèi)的操作系統(tǒng),具有源碼公開(kāi)、可移植、可裁減、調(diào)度策略靈活的特點(diǎn),可以方便地移植到各種單片機(jī)上運(yùn)。
第二步 準(zhǔn)備工作
FREERTOS系統(tǒng) ,一個(gè)工程,越簡(jiǎn)單越好,這里我就用的庫(kù)函數(shù)版本的LED工程,在LED文件里創(chuàng)建FREERTOS文件夾來(lái)放FREERTOS源代碼,然后就是 portable文件夾里面只剩下這三個(gè)文件,keli、MemMang、RVDS,
51hei截圖20201127174831.png (161.06 KB, 下載次數(shù): 77)
下載附件
2020-11-27 17:50 上傳
FREERTTOS文件夾.png (78.27 KB, 下載次數(shù): 85)
下載附件
2020-11-27 17:50 上傳
portable.png (57.77 KB, 下載次數(shù): 108)
下載附件
2020-11-27 17:55 上傳
這些弄好之后,打開(kāi)工程添加文件夾FREERTOS_CODE和FREERTOS_PORTABLE倆個(gè)文件夾,這是我添加的以后的(這里我們的用的ARM3的內(nèi)核所以選用ARM3),還有對(duì)應(yīng)的.h的頭文件也要添加進(jìn)去,
端口.png (366.94 KB, 下載次數(shù): 104)
下載附件
2020-11-27 17:59 上傳
頭文件.png (98.52 KB, 下載次數(shù): 90)
下載附件
2020-11-27 18:06 上傳
然后編譯會(huì)出現(xiàn)錯(cuò)誤,這是因?yàn)槿鄙倭艘粋(gè)頭文件FreeRTOSConfig.h,我們從別的demo復(fù)制一個(gè)過(guò)來(lái),然后放在include文件夾里面,再進(jìn)行編譯
錯(cuò)誤.png (69.24 KB, 下載次數(shù): 138)
下載附件
2020-11-27 18:06 上傳
然后又會(huì)出現(xiàn)倆個(gè)錯(cuò)誤
2個(gè)錯(cuò)誤.png (63.91 KB, 下載次數(shù): 86)
下載附件
2020-11-27 18:09 上傳
我們?nèi)ハ鄳?yīng)的文件里面去修改,
錯(cuò)誤1.png (317.63 KB, 下載次數(shù): 90)
下載附件
2020-11-27 18:13 上傳
錯(cuò)誤2.png (313.01 KB, 下載次數(shù): 91)
下載附件
2020-11-27 18:13 上傳
然后編譯就沒(méi)有錯(cuò)誤了,因?yàn)槲覀冇玫氖钦c(diǎn)原子的代碼,所以我們要開(kāi)啟FREETRTOS的系統(tǒng)的時(shí)鐘,雖然沒(méi)有錯(cuò)誤,但是FREERTOS還是不能用
完成.png (327.8 KB, 下載次數(shù): 89)
下載附件
2020-11-27 18:13 上傳
找到sys.c文件,然后找到sys.h文件,把這個(gè)宏定義改成1
請(qǐng)用.png (598.95 KB, 下載次數(shù): 93)
下載附件
2020-11-27 18:16 上傳
然后我們接著修改,把這倆個(gè)的 includes.h都改成FREERTOS.h
修改1.png (380.17 KB, 下載次數(shù): 106)
下載附件
2020-11-27 18:21 上傳
修改2.png (351.41 KB, 下載次數(shù): 103)
下載附件
2020-11-27 18:21 上傳
然后編譯,會(huì)報(bào)錯(cuò)誤,因?yàn)橹貜?fù)的定義了,
錯(cuò)誤11.png (258.81 KB, 下載次數(shù): 90)
下載附件
2020-11-27 18:22 上傳
我們點(diǎn)擊對(duì)應(yīng)的錯(cuò)誤,就能到錯(cuò)誤的地方,要是 找不到就找對(duì)應(yīng)的.c文件
錯(cuò)誤1.png (317.63 KB, 下載次數(shù): 84)
下載附件
2020-11-27 18:46 上傳
錯(cuò)誤2.png (313.01 KB, 下載次數(shù): 86)
下載附件
2020-11-27 18:46 上傳
然后編譯又會(huì)出現(xiàn)錯(cuò)誤,我們接著修改delay.c文件
delay.png (323 KB, 下載次數(shù): 92)
下載附件
2020-11-27 18:50 上傳
修改10.png (321.89 KB, 下載次數(shù): 81)
下載附件
2020-11-27 18:50 上傳
修改11.png (251.13 KB, 下載次數(shù): 94)
下載附件
2020-11-27 18:50 上傳
修改12.png (520.6 KB, 下載次數(shù): 85)
下載附件
2020-11-27 18:50 上傳
修改13.png (269.99 KB, 下載次數(shù): 81)
下載附件
2020-11-27 18:50 上傳
我們最后這步添加一個(gè)延時(shí)函數(shù)。
修改14.png (283.81 KB, 下載次數(shù): 84)
下載附件
2020-11-27 18:50 上傳
現(xiàn)在我們的FREERTOS就可以用了
主函數(shù).png (147.25 KB, 下載次數(shù): 79)
下載附件
2020-11-27 18:53 上傳
主函數(shù)1.png (154.12 KB, 下載次數(shù): 84)
下載附件
2020-11-27 18:53 上傳
這個(gè)代碼是我們測(cè)試用的,以后會(huì)講到,所以可以先從別處復(fù)制先來(lái),測(cè)試一下自己是否移植成功。
以下的是代碼和我自己一直好的文件,哪個(gè)地方寫(xiě)的不好,請(qǐng)大家見(jiàn)諒!!
全部資料51hei下載地址:
相關(guān)文件.7z
(10.53 MB, 下載次數(shù): 92)
2020-11-27 23:17 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|