UCOSII移植STM32筆記

UCOSII移植STM32筆記

ID:37728834

大?。?12.82 KB

頁數(shù):14頁

時間:2019-05-29

UCOSII移植STM32筆記_第1頁
UCOSII移植STM32筆記_第2頁
UCOSII移植STM32筆記_第3頁
UCOSII移植STM32筆記_第4頁
UCOSII移植STM32筆記_第5頁
資源描述:

《UCOSII移植STM32筆記》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、UCOSII移植STM32筆記用到的資源是:A、ucosii_V2.92B、ST公司提供:STM32F10x開發(fā)標(biāo)準(zhǔn)庫V3.5版本C、編譯器:MDK3.80D、編輯器:SourceInsight_V3.5E、實驗平臺:原子哥的戰(zhàn)艦開發(fā)板V2.1F、實驗現(xiàn)象設(shè)計:紅燈亮滅各800ms,綠色燈亮滅各300ms一、獲取ucos源碼這個嘛百度上面也是大把的,或者上其官網(wǎng)下載也是可以的http://www.micrium.com。移植的ucosii版本為V2.92的版本,至于其他的版本就大伙們自己動手了。版本號在“ucos_ii.h”文件開頭處

2、二、獲取ucos文件解壓ucos壓縮包,得到下圖的東西看到這樣一個文件夾結(jié)構(gòu),紅色框框里面就有ucosii的源碼了,雙擊進(jìn)去,看到這樣的結(jié)構(gòu)雙擊紅色框框的UCOS-II文件夾進(jìn)去,會看到里面的內(nèi)容,看到這里是不是有點小興奮呢?沒錯,這里面就是ucos的源碼所在地了。A、在《Ports》文件夾里面的就是ucos與CPU打交道的代碼了“看文件夾英文名字就知道了”B、在《Source》文件夾里面的就是ucos的核心代碼了,C、至于os_cfg.h這個文件是干啥的,雙擊打開一看開頭的說明,哦。。。原來是裁剪用的,呵呵,比如打開什么功能,關(guān)閉什

3、么功能用的等等,具體請看后面的注釋三、新建測試工程這里新建立一個工程,比如ucosii什么的(自己建立好就行),我就在工程里面建立了三個文件夾來存放ucosii的代碼根據(jù)自己的喜好建立就好,呵呵1、將上面提到的《Source》文件夾里面的文件拷貝到《CORE》文件夾里面,這里面的文件是ucos的核心代碼,不用修改。2、將上面提到的《Ports》文件夾里面的文件拷貝到《PORTS》文件夾里面,這里就是移植的核心部分了3、返回上一級文件夾,將“os_cfg.h”這個文件拷貝到《CONFIG》這個文件夾里面,這里還要添加一個文件,這個文件不

4、在《uCOS-II》這個文件夾里面,具體在哪里呢???在這里“...ucosApp”這個路徑下,看到?jīng)]“includes.h”這個文件,拷貝到《CONFIG》這個文件夾里面。4、在MDK(當(dāng)然喜歡用其他編輯器的同志也是可以的)添加文件,如下圖所示,具體視個人喜好建立目錄結(jié)構(gòu)了,我建立了《UCOSII_CORE》、《UCOSII_PORTS》、《UCOSII_CONFIG》這三個文件夾存放ucos的相關(guān)代碼。哈哈。。。接下來就是爽歪歪的環(huán)節(jié)了。。。四、修改代碼1、地球人都知道的,人有心跳,操作系統(tǒng)也不例外,雙擊打開“os_cfg.

5、h”這個文件,找到“OS_TICKS_PER_SEC”這個宏定義,原文的是1000即1秒鐘了(看后面的注釋),這里我將它改為200也就是5ms的節(jié)拍,至于這個5ms怎么得來的,根據(jù)代碼算一下就出來了2、找到“OS_MAX_TASKS”這個宏定義,看這個名字就知道干啥的吧,沒錯,就是最大的任務(wù)數(shù),這里我定義為5即最多5個任務(wù),具體數(shù)量自己掂量3、這里我們關(guān)閉一部分ucos的功能,例如OS_DEBUG_EN、OS_EVENT_MULTI_EN、OS_EVENT_NAME_EN等等,具體的功能請看定義后面的注釋或者本工程代碼。4、前面說到了

6、操作系統(tǒng)的心跳,這里可以用多種方式提供,在CM3里面有個嘀嗒定時器,這個家伙就可以提供了,所以這里我們用它來做操作系統(tǒng)的心跳。修改本工程sys.h中的宏定義_SYSTEM_SUPPORT_ROTS將它的值改為1【如果用到原子哥的SYSTEM文件夾的話,直接將SYSTEM_SUPPORT_UCOS宏定義修改為1即可】。5、打開“os_cpu_a.asm”文件,修改相關(guān)的匯編A、首先看到的是前面的函數(shù)入口代碼修改成上圖樣子B、接著偽定義寄存器和相關(guān)的數(shù)值具體寄存器地址和相關(guān)的數(shù)值可以參考《Cortex-M3權(quán)威指南(中文).pdf》第28

7、4~286頁之間的內(nèi)容C、接著下面的改成下圖樣子D、將文件拖到最后,那里的程序標(biāo)好字符就要參考文件開頭的定義進(jìn)行改變了,具體參考代碼6、打開“os_cpu.h”文件,這里主要就是修改相關(guān)的數(shù)據(jù)類型的,視不同平臺而修改,詳細(xì)文件內(nèi)容見工程。7、打開“includes.h”這個文件,這里主要就是集合了需要的頭文件,刪除或者注釋一些沒用到的,增加里面沒有但是需要用到的。詳細(xì)見工程文件。A、找到下圖處,將其全部注釋掉,或者刪掉也行,因為這些庫這里沒用到,但是你的工程有用到的話就保留吧,V2.86之前的版本好像定義了這些文件B、找到這里,將這個

8、庫頭文件修改一下五、main函數(shù)編寫1、在main函數(shù)中增加以下內(nèi)容,注意了,優(yōu)先級的數(shù)值越大就越低,0是最高的優(yōu)先級,就這樣/*起始任務(wù)相關(guān)設(shè)置*///任務(wù)優(yōu)先級#defineStart_Task_PRIO10//優(yōu)先

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。