ucos ii
的移植之一要使μ
c/os-
ⅱ正常執行,處理器必須滿足以下要求: 1.
處理器的c編譯器能產生可重入**。 2.
用c語言就可以開啟和關閉中斷。 3.
處理器支援中斷,並且能產生定時中斷
(通常在10至
100hz之間)
。4.處理器支援能夠容納一定量資料
(可能是幾千位元組
)的硬體堆疊
5.處理器有將堆疊指標和其它cpu暫存器讀出和儲存到堆疊或記憶體中的指令。
(reentry code)
也叫純**
(pure code)
是一種允許多個程序同時訪問的**。
ucos ii
是乙個可搶占式核心,有這樣的要求也是可以理解的。要不這個任務呼叫了這段**,它是完整的,等到下乙個任務呼叫它的時候,它就變成殘缺的了,下一任務還怎麼辦?寫到這裡,不禁想起了少女的第一次.
看上面的要求蠻多的,其實實際應用中是很少有不相容
ucos ii
的微處理器的。所以大家可以放心地,大膽地,使勁地,盡情地
,淫蕩地使用
ucos ii.
總得來說,移植
ucos ii
到乙個晶元上,只需要修改下面三個檔案:
os_cpu.h
,os_cpu_c.c,os_cpu_a.asm。
具體來說,移植主要包括以下幾項內容
(1).
os_cpu.h
:用#define設定一些常量的值,宣告10個資料型別,用#define宣告三個巨集。
(2).os_cpu_c.c :
用c語言編寫六個簡單的函式。
(3).os_cpu_a.asm :
編寫四個組合語言函式。
乍看起來,移植ucos ii的工作量及難度都非常小。但對乙個初學者來說,這也不是件輕鬆的事。它要求對微處理器,彙編和ucos ii 都非常熟悉。 在
mcu21
同學的專案裡,
mcu21
同學極好地發揚了拿來主義精神,直接參照了周立功提供的模板。
移植UCOSII注意的問題
移植ucosii其實並不難,現在網上的資料又那麼多。但是要弄懂要花上不少時間。現在來說說移植需要注意的幾個問題吧。參考文件 pendsv 主要應用於系統任務切換 nvic 負責晶元的中斷管理 準備 micrium software ucos ii可以參考我上篇的建立工程,在上篇的工程結構基礎上我新建...
UCOSII移植問題 IAR
一 sprintf浮點數問題 最近遇到了乙個問題,就是ucosii中浮點數呼叫printf顯示不正常,但是裸機上對浮點數支援正常,以下是詳細情況。pragma data alignment 在ucos中呼叫printf除錯浮點數的時候,在記憶體中表示正確,但是列印資料就都為0.00,其他整形資料表示...
uCOS II移植的一點心得
ucos ii是一種十分優秀實時作業系統,其在nasa的認證通過直接說明了其優秀及穩健的效能,同時由於其完全open,所以受到廣大開源愛好者的喜愛。ucos ii簡單明瞭,同時絕大部分 都採用ansi c編寫 除了與cpu相關 外 所以學習起來十分容易,是嵌入式學習乃至作業系統學習最好的入門os之一...