电路板克隆嵌入式应用的通用操作系统Windows CE
一般认为 Windows CE是一个适合嵌入式应用的通用操作系统,然而,从系统的角度来看,Windows CE并不只是一个操作系统,它还包括对多种目标处理器以及外围设备的支持,并提供了系统开发工具、应用开发工具、整合的应用程序 (例如IE),以及。NET Frameworks 等等,所有这些组件构成了 Windows CE系统的应用框架:在操作系统的基础上。
1) 提供方便的工具来开发 BSP,使得基本的Windows CE操作系统kernel可以迅速被移植到某个专用嵌入式系统的硬件平台上;
2) 提供便捷的应用软件开发平台,以及应用程序在多种 Windows 平台间的快速移植能力;
3) 操作系统以及所支持的特性可以根据嵌入式应用程序的需要,进行配置管理,使开发者可以根据需求来选择系统特性进行组合,建构出新系统。
本章主要从宏观的角度,来分析整个 Windows CE的架构。为了避免混淆,在没有明确说明的情况下,本书中 Windows CE指操作系统本身。
透视系统关键特性
Windows CE (包括开发平台) 相当适合嵌入式应用程序的开发,pcb抄板电路板克隆它希望提供给使用 CE 操作系统来做嵌入式产品开发的人,如下的基本特性:
--- 适应小型系统,为低成本计算能力较差的系统提供简洁、高效、完善的控制机制
--- 支持多种处理器和计算机架构,并支持多种装置接口
--- 遵循 Windows 平台的应用开发规范:提供 Win32 API 等
--- 操作系统各部分模块化,可根据特性订制,以适应ROM,并以最佳的方式使用内存
--- 为应用程序提供网络通讯、图形使用者接口、数据库、档案等支持
--- 支持实时应用
--- 提供进阶电源管理功能
这些特色使得 Windows CE (包括开发平台) 成为一个成功的商用系统。下面将从几个方面来检视系统所提供的具体能力。
操作系统kernel特性
1. 内存架构
Windows CE 提供了灵活的内存存取机制,使系统中不同类型的应用程序可以充分的使用系统提供的 RAM、ROM 以及 FLASH Memory,并选择性的有效利用处理器提供的虚拟内存,内存保护等功能。内存管理可以划分为三个部分:实体页面管理,主要负责追踪系统中物理内存的使用情况,为换页程序选取可用的实体页面,释放不使用的实体页面等;虚拟内存管理,主要管理系统的内存地址对应页面的换进换出等;heap 管理,主要管理处理程序空间内部的动态内存释放与回收,以支持程序的动态数据结构。
系统中的32位虚拟地址提供了4GB的虚拟内存空间, 对于嵌入式应用来说,内存一般很小,因而系统在使用内存方面作了些限制,以提供更高效能的储存空间管理。这些限制包括:大量的系统保留空间,实际上这些地址空间,通常不对
应到任何的实体页面;系统处理程序数最多只有 32 个,每个处理程序的实际可使用内存空间受到限制 (32MB);有固定的处理程序共享内存;有 ROM 地址的对应等。 Windows CE使用如图的内存配置 (memory layout)。
Windows CE 的内存配置
由于限定了处理程序空间的大小和处理程序的数目,抄板公司内存配置 (memory layout) 变得相对简单,系统提供 33 个 Slot 供这些处理程序使用,其中,Slot 0是全域的共享内存,底部的一些 Slot 由重要的系统处理程序使用,kernel 部分的静态虚拟地址 (Static Virtual Addresses) 专门用来对应ROM、外围设备等资源。NK Slot即NK.EXE的处理程序空间, NK.EXE是一个在kernel mode的处理程序,包括了操作系统 kernel的程序代码。对物理内存相对比较紧缺的系统来说,对处理程序空间和处理程序数目的限制,将能有效的纾解内存系统可能的压力。例如,某个应用系统限制 6 个处理程序,那么系统对应中,将永远不会用到第 7个的Slot,系统作地址对应,将不考虑别的部分。