Windows Embedded Compact7的体系结构和组件简介

来源:互联网 发布:手机黄金探测器软件 编辑:程序博客网 时间:2024/05/16 10:31

作者:巴斯滕

转自:http://blog.csdn.net/wince7/article/details/6543114


本文转载自微软嵌入式中文社区http://www.msembed.com

 

 

Windows Embedded Compact 7是在Windows Embedded CE的基础之上演变而来的。它是一种组件化的实时操作系统,用于创建各种占用空间小的企业类和消费类设备。既然是微软在嵌入式和移动计算平台最新系统,那就快来学习一下吧。

 

首先,我们要大体的了解一下Windows Embedded Compact 7的一些特性。WinCE7的设计非常紧凑,是个实时操作系统,面向用户、面向产品、面向应用,软硬件可裁减,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用设备。比较具体的说法可以参考下表:

 

特性

描述

处理器架构

支持四种32位处理器架构:x86、ARM、MIPS32和SH4;
支持多达8核的多核处理器(SMP);
现在支持ARMv7;
提供处理器核心管理API;
支持多达3GB的物理内存;
支持蓝牙2.1以及EDR;
支持NDIS 6.1;
支持带Flash 10.1的IE 7;

模块化

有500多个组件可供选择

实时性

Windows Embedded Compact 7是微软提供的唯一具有原生实时功能的操作系统;

占用资源少

内核使用约700kB的资源

优秀的工具

功能完整的Visual Studio 2008专业版现已包括在Platform-Builder程序包;
经过更新的目录功能;
经过更新的编译器;
新的集成的Silverlight开发工具;

加快开发

端到端开发流程,帮助你容易配置、构建和交付新设备;
集成的开发模拟器,因而没必要使用众多来源的多个工具;
几百个测试组件随时可供使用;
可以使用更多的源代码,以便调试、测试和更改操作系统映像;

低成本

由于评估工具免费,前期资金投入很少;开发工具的成本很低,许可费也极低,从而降低了开发的总成本;

新的许可体系

2种主许可证:C7E和C7P,对垂直行业没有限制;
4种对垂直行业有限制的许可证:C7K、C7G、C7T和C7NR;
不再有Core许可证;
不再有Core-Plus许可证;

共享资源

可以参与共享资源计划,有400多万行源代码。可以使用共享源代码,记录、调试、测试和改动操作系统映像,以创建差异化的功能特性。可以使用和更改这些源代码。

专业设备支持

面向移动设备的特殊功能已包括在内,如电源管理、即时开机和占用资源少,用于闪存设备。

强大的支持

长达十年的延长支持服务;
全球合作伙伴网络和社区协作;
免费的评估套件,可在180天内免费评估和测试系统;

 

如果我们想更快的进行WinCE7的入门学习,那么还需要了解一下基础的WinCE的系统架构。

 

 

Windows Embedded Compact的嵌入式系统采用四层体系结构:

 

l 硬件层:用于线程调度的实时时钟、用于存储和运行操作系统的存储单元。通常,硬件平台应具备其他的外设,例如串口、网卡、键盘、鼠标等。对于不同的应用领域和硬件平台,需要定制Windows CE 7操作系统并移植到目标硬件上;

 

l OEM 硬件适配层:位于操作系统层与硬件层之间,用来抽象硬件功能,实现操作系统的可移植性;

 

l 操作系统服务层:

包含:

A、内核:内核提供用于线程调度、内存管理和中断处理、调试支持等;

 

B、对象存储:包括文件系统、系统注册表、CE 数据库的持久存储;

 

C、通讯接口:提供对各种通信硬件和数据协议的支持;

 

D、GWES:支持显示文本和图像,提供用户输入所需的图形和窗口功能;

 

 

l 应用层:是应用程序的集合,通过调用Win32 API 来获得操作系统服务;
 

 

它具有层次性强、可移植性好、组件可剪裁、强调编程接口和支持上层应用等特点。不过,这个划分并不绝对,而是根据产品需求来决定。

 

或许以上的解释只能对Windows CE系统有个粗略的了解,现在我们看看它的组件到底有什么:

CoreDLL

CoreDLL在系统中的地位举足轻重,它分隔了应用程序和操作系统的其他模块,是使系统稳定的保护性屏障。
 

它提供了两类功能:
第一类是外部应用程序系统功能的代理,负责系统API的管理和安装应用程序,系统应用程序的核心软件中断过程就发生在这里;
 

第二类提供了类似字符串处理、随机数生成、时间计算等基本支持函数。
 

CoreDLL的程序代码位于../PRIVATE/WINDOWS CEOS/COREOS/CORE目录下。
 

 

NK
NK透过nk.exe在系统中运行,它是Windows CE操作系统的真正核心,主要包含以下6类:功能处理器进程、内存管理、异常处理、系统内的通信机制、为其他部分提供核心应用程序例程(routine)、为系统范围内侦错提供的支持。
 

NK.exe的程序代码非常精简,始终以较高的优先级和处理器特权级别(privilege mode)执行。
NK的程序代码位于../PRIVATE/WINDOWS CEOS/COREOS/NK目录下。
 

 

设备管理模块
这是Windows CE的设备管理核心,透过Device.exe来执行。
 

它提供系统范围内基本的设备列表管理、随插即用管理、电源管理、I/O资源管理,并提供了设备驱动程序运作的基本机制。
 

这一部分的程序代码位于../PRIVATE/WINDOWS CEOS/COREOS/DEVICE目录下。
 

 

数据存储模块
数据存储模块主要是提供系统基本的数据存储能力,其中包括对象存储以及文件系统,这些功能主要是透过filesys.exe来执行。
 

原始代码部分位于../PRIVATE/WINDOWS® CEOS/COREOS/FSD目录和../PRIVATE/WINDOWS CEOS/COREOS/STORAGE目录下。
 

 

GWES模块
Windows CE通过这个模块提供的图形接口提供了几个主要的功能:基本的绘图引擎、窗口管理、接口的事件机制等。
 

代码位于../PRIVATE/WINDOWS CEOS/COREOS/GWE目录下。
 

 

通信模块
网络通信模块非常独立,它通过一系列的动态链接库来运作。
 

位于../PRIVATE/WINDOWS CEOS/COMM目录下。
 

 

OAL模块
这个模块没有确定的形态,主要包括和硬件相关的若干功能,例如:处理器的专用支持程序代码、总线控制器的驱动、系统引导程序、系统初始化程序等。一般来说OAL不具有可移植性。
 

 

驱动程序模块
驱动程序模块实际上并不是一个单独的实体,而是一个由驱动程序实体构成的集合,它包括很多组件,执行也比较复杂,可以看作一个具体的类别驱动程序,它们由不同的模块管理,例如services.exe和gwes.exe。

 

其他一些需要注意的小问题:
Platform Builder 7.0作为VS2008的一个插件使用,且与之前所有版本的WinCE开发环境都不兼容,需要独立安装;
 

WinCE只支持UNICODE,所以char必须改为TCHAR, WCHAR;
 

WinCE不支持重叠I/O;
 

WinCE的许多APIs功能都受限,如:CreateThread 函数在许多参数在WinCE下都不支持,第1、2、5的参数值需要设置为NULL或0;

 

好了,开篇对于Windows Embedded Compact7的体系结构和组件做了简单的介绍,下一次和大家探讨一下关于它的内存问题。
 


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 绝地求生刺激战场延迟高怎么办 怀孕八个半月打喷嚏头疼怎么办 20岁打喷嚏漏尿怎么办 鼻炎犯了不停打喷嚏怎么办 鼻炎犯了不停打喷嚏流鼻涕怎么办 感冒鼻痒怎么办小窍门 腰扭了屁股也疼怎么办 小三把房子过户怎么办 小三把房子卖了怎么办 打印机ip地址变了怎么办 电脑ip地址错误不能上网怎么办 修改了注册表电脑无法启动怎么办 香水喷到衣服上有印怎么办 家里一股猫的味道怎么办 干菊花里面有虫怎么办 安装时显示程序已关闭怎么办 电脑一直重启开不了机怎么办 应用安装在sd卡打不开怎么办 安装ps打不开安装包怎么办 安装好的软件打不开怎么办? win10系统语言修改不了怎么办 一个月婴儿吵夜怎么办 玩游戏一直闪退怎么办 钱站一直闪退怎么办 win7重装连不上网怎么办 笔记本屏幕横过来了怎么办 3D贴图丢了怎么办 百度文库安装后手机打不开怎么办 win7系统不带usb驱动怎么办 手机网页上的pdf打不开怎么办 网页下载pdf后缀是.do怎么办 ps界面太小怎么办win10 ps软件打不开程序错误怎么办 ps打开后 未响应怎么办 ps图层无法解锁怎么办 ie8浏览器电脑不能用怎么办 系统要ie6.0才能打开怎么办 2g手机内存不够怎么办 2g运行内存不够怎么办 手机运行内存2g不够怎么办 手机无法加载程序秒退怎么办