2009年8月10日 星期一

uCOS-II Win32 Port解析及改善 -- 1

摘要:


uCOS-II移植到Win 32A PI函式下,使之成為寄生在Win 32A PI下的作業系統。並改進和外部通信的部分,增加可使用能力。對於桯式邏輯除錯及模擬上有較佳支援。


 


介紹:


了解uCOS-II作業系統結構和Windows作業系統中的行程管理函式,經由移植的方式增加作業系統之了解。在此移植中要實現的功能有:


1.        uCOS-II中斷模擬。


2.        WindowsuCOS-II資料傳輸通道連接。


一般在學習uCOS-II會在Windows下使用DOS模式來學習,但純DOS程式在Windows下會很消耗CPU使用率,在使用Windows port程式則使用Windows管理則不會消耗CPU使用率,而且可以使用一般Windows的程式除錯器,對於程式邏輯的除錯效率上可以發揮很大的功用。


uC/OS Win32 port主要是採用Werner.Zimmermann的版本為主。採用此版本的主要原因是原作者只利用到原始uC/OS程式碼中的hook功能,不去更動作業系統中的程式碼,如此可以保有在各處理器及各版本之間的相容性。而且在各版本的uC/OS Windows port中亦為有在維護在最新狀況下的版本。不只可以在Windows下執行,亦可以在Linux中實現,足可見此版本的移植力甚強。故以此版本為其基礎,探討其運作原理及加入模擬所需之改進。但此版本目前仍有部分功能並不是完全做到,第一點是即時性,因為是寄生,所以無法做超越基礎作業系統的能力;第二點是限定無法使用OS_TaskChangePrio()


在其他版本則有其功能不全,故未予以採用。以下簡介不採用原因:


www.micrium.com 中有使用Win32 Thread的版本,此版本並沒有支援uC/OS中斷的能力,所以無法有效使用其版本。


http://wsim.pc.cz 亦有uC/OS win32 port,但其uC/OS版本在2.00版本,必須使用其專用模擬器,且版本亦沒有維護,恐與後面版本產生不相容現象,故亦不予採用。


沒有留言:

張貼留言