admin 管理员组文章数量: 887016
作者:巴斯滕
转自:http://blog.csdn/wince7/article/details/6543114
本文转载自微软嵌入式中文社区http://www.msembed
Windows Embedded Compact 7是在Windows Embedded CE的基础之上演变而来的。它是一种组件化的实时操作系统,用于创建各种占用空间小的企业类和消费类设备。既然是微软在嵌入式和移动计算平台最新系统,那就快来学习一下吧。
首先,我们要大体的了解一下Windows Embedded Compact 7的一些特性。WinCE7的设计非常紧凑,是个实时操作系统,面向用户、面向产品、面向应用,软硬件可裁减,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用设备。比较具体的说法可以参考下表:
特性 | 描述 |
处理器架构 | 支持四种32位处理器架构:x86、ARM、MIPS32和SH4; |
模块化 | 有500多个组件可供选择 |
实时性 | Windows Embedded Compact 7是微软提供的唯一具有原生实时功能的操作系统; |
占用资源少 | 内核使用约700kB的资源 |
优秀的工具 | 功能完整的Visual Studio 2008专业版现已包括在Platform-Builder程序包; |
加快开发 | 端到端开发流程,帮助你容易配置、构建和交付新设备; |
低成本 | 由于评估工具免费,前期资金投入很少;开发工具的成本很低,许可费也极低,从而降低了开发的总成本; |
新的许可体系 | 2种主许可证:C7E和C7P,对垂直行业没有限制; |
共享资源 | 可以参与共享资源计划,有400多万行源代码。可以使用共享源代码,记录、调试、测试和改动操作系统映像,以创建差异化的功能特性。可以使用和更改这些源代码。 |
专业设备支持 | 面向移动设备的特殊功能已包括在内,如电源管理、即时开机和占用资源少,用于闪存设备。 |
强大的支持 | 长达十年的延长支持服务; |
如果我们想更快的进行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的体系结构和组件做了简单的介绍,下一次和大家探讨一下关于它的内存问题。
本文标签: 体系结构 组件 简介 Windows Embedded
版权声明:本文标题:Windows Embedded Compact7的体系结构和组件简介 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726304058h933063.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论