WINCE6.0体系结构学习
********************************LoongEmbedded********************************
作者:LoongEmbedded(kandi)
時間:2012.02.14
類別:WINCE系統開發
********************************LoongEmbedded********************************
?
WINCE6.0的體系結構圖如下圖所示:
圖1 WINCE的體系結構
根據上圖可以把WINCE6.0體系結構分為硬件層、OEM層、操作系統層和應用層,這四層緊密合作,相互配合來完成從應用程序的調用到對硬件的操作和交互。
?
1.????? 硬件層
硬件平臺的核心是嵌入式處理器,而嵌入式處理器的種類很多,處理能力和主頻的速度各有差異,如果要跑WINCE操作系統,需要處理器包含MMU單元。WINCE6.0支持的ARM、MIPS、x86、SHx這四種CPU體系,在這點上嵌入式linux支持更多CPU體系結構的處理器。
2.????? OEM層
OEM(Original Equipment Manufacturer,原始設備制造商)層位于WINCE的操作系統層和硬件層,主要的作用是對硬件進行抽象并且提供統一的接口讓操作系統來和硬件交互。OEM層主要包括OAL(OEM Abstraction Layer,OEM抽象層)、bootloader、配置文件和驅動程序。
?
3.????? 操作系統層
?
由圖1可知操作系統層包括Coredll、文件系統、GWES、設備管理器、驅動(分為用戶模式和驅動模式的驅動)、services服務和內核(Kernel)這些部分組成。
3.1 Coredll
coredll.lib,Coredll模塊為其他WINCE模塊提供核心(core)功能,此模塊是WINCE操作系統的一個不可或缺的模塊,但它不一定需要所有的組成部分。Coredll模塊包含配置OS的結構體、宏定義、函數等重要的內容,這些信息定義在Celog.h、Pkfuncs.h、Pwinreg.h、Pwinuser.h和Windbase.h頭文件中,為了引入(import)這些功能,必須鏈接coredll.lib文件。
Coredll模塊包含很多部分,比如battery、cormain等部分,這些部分都是以lib的形式提供,具體看help文檔Developing an OS Design->Windows Embedded CE Moudules and Components->Common Windows Embedded CE Modules下的介紹。
WINCE有一個重要的設計思想就是所有的應用程序都不能直接與操作系統或是硬件打交道,如果應用程序需要訪問WINCE提供的服務,就只能通過coredll.dll來進行,也就是說如果我們要調用system API時不能直接調用,而是先轉到coredll.dll,由它幫我們去調用system API的。另外,WINCE系統除了有system API,同時也提供application API(類似于桌面windows系統的WIN32API),開發者可以通過比如是LoadLibrary(TEXT("winsock.dll"))或在sources文件的鏈接目標庫包含winsock.lib的方式來調用這些application API,比如還有Wininet.dll、Msml.dll和Winhttp.dll等。
?
3.2 文件系統(filesys.dll)
Filesys.dll主要實現文件系統和存儲管理
圖2 filesys.dll的功能架構
?
3.3 GWES(gwes.dll)
WINCE把微軟WIN32 應用編程接口(API)、用戶接口(UI)和圖形設備接口(GDI)的庫整合到圖形窗口和事件子系統模塊(GWES)中,GWES是用戶、應用程序和OS之間的接口,它支持構成WINCE用戶接口的所有窗口、對話框、控件、菜單和資源,還提供了光標、位圖、文字和圖標信息,GWES負責加載及管理HID驅動、顯示驅動和鍵盤驅動。
?
3.4 設備管理器(device.dll)
設備管理器被kernel加載并且一直運行,它負責加載、卸載和管理設備驅動及他們的接口,當設備管理器加載的時候,它同時加載I/O資源管理器來從注冊表中讀取可用資源列表。
?
?
4.????? 應用層
從系統的角度來看,每個應用程序都是WINCE中的一個單獨的進程,應用程序運行在優先級較低的權限下它使用操作系統提供的Win32 API來進行系統調用基交互。
?
總結
以上是生活随笔為你收集整理的WINCE6.0体系结构学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WINCE6.0 Quarter VGA
- 下一篇: WINCE6.0操作系统---内核(ke