找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4895|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

STM32F103ZET6移植FREERTOS操作系統(tǒng)源代碼(借鑒于正點(diǎn)原子庫(kù)函數(shù))

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:692965 發(fā)表于 2020-11-27 17:45 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
最近在學(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,





這些弄好之后,打開(kāi)工程添加文件夾FREERTOS_CODE和FREERTOS_PORTABLE倆個(gè)文件夾,這是我添加的以后的(這里我們的用的ARM3的內(nèi)核所以選用ARM3),還有對(duì)應(yīng)的.h的頭文件也要添加進(jìn)去,



然后編譯會(huì)出現(xiàn)錯(cuò)誤,這是因?yàn)槿鄙倭艘粋(gè)頭文件FreeRTOSConfig.h,我們從別的demo復(fù)制一個(gè)過(guò)來(lái),然后放在include文件夾里面,再進(jìn)行編譯


然后又會(huì)出現(xiàn)倆個(gè)錯(cuò)誤


我們?nèi)ハ鄳?yīng)的文件里面去修改,




然后編譯就沒(méi)有錯(cuò)誤了,因?yàn)槲覀冇玫氖钦c(diǎn)原子的代碼,所以我們要開(kāi)啟FREETRTOS的系統(tǒng)的時(shí)鐘,雖然沒(méi)有錯(cuò)誤,但是FREERTOS還是不能用


找到sys.c文件,然后找到sys.h文件,把這個(gè)宏定義改成1

然后我們接著修改,把這倆個(gè)的 includes.h都改成FREERTOS.h




然后編譯,會(huì)報(bào)錯(cuò)誤,因?yàn)橹貜?fù)的定義了,


我們點(diǎn)擊對(duì)應(yīng)的錯(cuò)誤,就能到錯(cuò)誤的地方,要是 找不到就找對(duì)應(yīng)的.c文件




然后編譯又會(huì)出現(xiàn)錯(cuò)誤,我們接著修改delay.c文件










我們最后這步添加一個(gè)延時(shí)函數(shù)。


現(xiàn)在我們的FREERTOS就可以用了




這個(gè)代碼是我們測(cè)試用的,以后會(huì)講到,所以可以先從別處復(fù)制先來(lái),測(cè)試一下自己是否移植成功。

以下的是代碼和我自己一直好的文件,哪個(gè)地方寫(xiě)的不好,請(qǐng)大家見(jiàn)諒!!

全部資料51hei下載地址:
相關(guān)文件.7z (10.53 MB, 下載次數(shù): 92)

評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:286558 發(fā)表于 2023-9-6 09:59 | 只看該作者
講解得很詳細(xì),學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表