`
tiankefeng0520
  • 浏览: 146888 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

(转)WINCE的体系结构

 
阅读更多

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来进行系统调用基交互。

分享到:
评论

相关推荐

    WINCE.NET体系结构

    ### WINCE.NET体系结构知识点详解 #### 一、概述 **Windows CE.NET**(以下简称“WinCE.NET”)是一款专为嵌入式设备设计的操作系统,由微软公司开发。它适用于资源有限的小型设备,如手持设备、工业控制器等。...

    wince中断体系结构

    Windows CE .NET 的中断体系结构是其核心操作系统功能的关键组成部分,尤其对于嵌入式设备和实时系统的性能至关重要。中断处理涉及多个层次的交互,从硬件中断到操作系统内核,再到OEM适配层(OAL),最后是中断服务...

    wince6.0体系结构

    下面将详细介绍Windows CE 6.0的体系结构及其关键知识点。 **1. 微核心架构** Windows CE 6.0采用微核心设计,将操作系统的核心功能最小化,只包含基本的系统服务,如内存管理、进程调度、中断处理等。这种设计提高...

    WinCE.net中断体系结构

    本文将深入探讨WinCE.NET中断体系结构的相关知识点。 1. **中断的基本概念** - **中断请求**:当硬件设备完成某项操作或需要系统注意时,会发送一个中断请求给CPU。 - **中断向量**:每个中断都有一个唯一的中断...

    Wince 6.0体系结构PPT文档

    本PPT文档主要探讨了Windows CE 5.0与6.0之间的差异以及Windows CE 6.0的体系结构,包括内存模式和OAL(Operating Abstraction Layer)结构。 首先,Windows CE 6.0相较于5.0的主要改进之一是提升了系统性能和可...

    Wince的体系架构.pdf

    进程和线程的管理也是Wince体系结构的重要部分。NK.EXE作为内核进程,负责创建、销毁进程以及调度进程和线程。每个进程都有自己的地址空间,而进程中的线程则共享相同的地址空间。这种设计确保了进程之间的隔离性和...

    Windows CE 体系结构与应用开发

    《Windows CE 体系结构与应用开发》是一本深入探讨Windows CE操作系统核心以及其在嵌入式软件开发中的应用的专业书籍。Windows CE作为一个微型版本的Windows操作系统,被广泛应用于各种嵌入式设备,如掌上电脑、工业...

    WinCE开发讲义.rar

    T01.WinCE体系结构.ppt T02.WinCE系统开发概述.ppt T03.设备驱动开发(1).ppt T04.设备驱动开发(2).ppt T05.Wince BSP开发.ppt T06.WinCE 网络与通信.ppt T07.定制WinCE Shell.ppt T08.开发WinCE应用程序.ppt ...

    昆仑通态wince开发方案.rar

    1. **Windows CE基础**:了解wince的体系结构,包括内核、文件系统、驱动模型等,以及它与桌面版Windows的区别。 2. **硬件接口**:昆仑通态触屏设备的硬件接口,如串口、USB、以太网等,开发者需要知道如何通过...

    WinCE 内核定制\理解

    通过对WinCE文件系统体系结构的深入分析,我们可以看出WinCE内核定制的核心在于文件系统的设计与实现。无论是ROM文件系统还是RAM文件系统,或者是对象存储,都在WinCE的整体架构中扮演着至关重要的角色。此外,存储...

    WinCE6.0开发资料及源码

    这个压缩包提供的开发资料和源码,将帮助开发者深入理解WinCE6.0的体系结构和开发流程。 一、WinCE6.0系统架构 WinCE6.0采用了模块化的设计,核心部分由内核(Kernel)、设备驱动(Drivers)、系统服务(System ...

    wince开发入门资料.

    - **学习基础知识**:首先,你需要理解嵌入式系统的基本概念,了解WinCE的体系结构和功能特性。 - **安装开发工具**:安装Platform Builder和Visual Studio,并确保它们与WinCE SDK兼容。 - **创建工程**:在Visual ...

    WINCE下制作单文档程序

    理解WinCE的体系结构和API是解决这些问题的关键。此外,查阅MSDN文档、参与开发者社区和学习其他开发者的经验,都能帮助你更好地完成开发任务。 总之,制作一个在WinCE下的单文档程序涉及多个步骤,从创建项目、...

    wince6.0 directshow camera

    DirectShow的核心在于它的过滤器体系结构,由一系列相互连接的过滤器组成,每个过滤器都有特定的功能,例如捕获设备、编码、解码、渲染等。在摄像头应用中,主要涉及以下过滤器: 1. **捕获设备过滤器**:这是与...

    WinCE 经典教程

    学习WinCE,首先应掌握基本的编程语言,如C或C++,然后深入了解WinCE的体系结构、内核机制和API。通过实践项目,如开发一个简单的用户界面或实现设备驱动,可以加深对WinCE的理解。此外,参考官方文档、在线教程和...

    wince嵌入式开发入门C++(DEMO)

    总之,wince嵌入式开发入门C++需要掌握WinCE的体系结构、开发工具、API使用、驱动编程、应用部署和调试技巧。通过实践DEMO项目,你可以逐步熟悉这个过程,进一步深入探索这个领域的各种可能性。

    ARM9开发板WINCE使用手册

    #### WinCE开发体系结构 1. **驱动程序编写**:在WinCE中,驱动程序的编写是构建在OEM适配层(OAL)之上的,负责处理硬件事件和硬件读写操作。这部分代码需要针对特定硬件进行定制,以确保操作系统能够有效管理底层...

    WinCE任务管理器EVC源码

    如果要将其移植到其他处理器架构,需要对WinCE的体系结构有深入理解,以及对目标处理器的指令集和库函数的熟悉。 6. **系统调用**:源码中会包含大量的WinCE系统调用,如创建进程、结束进程、读取系统信息等。了解...

Global site tag (gtag.js) - Google Analytics