Windows CE 6.0 系统框架
wince6.0_开发环境搭建

Window CE6.0开发平台搭建详解2011年08月29日Windows CE6.0的开发无非两大方面:操作系统开发和应用程序开发,操作系统开发包括系统的定制,驱动开发和其他需要完成的底层工作。
应用程序开发主要是与实际应用结合紧密的程序开发。
要搭建这样的开发环境,至少要包括两部分,一个是硬件平台,一个是软件平台,在Windows CE6.0的开发中,微软公司把这些开发软件集成到了vs2005中。
Windows CE6.0开发环境需要安装的软件比较多、比较大,至少要10GB的空间,而且有着严格的安装顺序要求,一旦其中某一个环节出错,都会导致软件运行出现故障,为确保安装顺利,请仔细阅读本文,按照步骤一步一步进行安装。
一、所需安装软件1、Visual Studio 20052、Visual Studio 2005 Service Pack 13、MSDN4、platform builder for Windows Embedded CE6.05、Windows Embedded CE 6.0 Platform Builder Service Pack 16、Windows mobile 6的sdk二、所用磁盘空间在安装之前,请检查电脑的磁盘空间,VS2005和Windows Embedded CE6.0均是比较大的软件,要占硬盘好10G多的空间,建议不要装在C盘,但是我装Windows Embedded CE6.0的时候,发现不能更改安装路径,没办法,只能把Windows Embedded CE6.0装在C盘。
三、安装顺序1.安装Visual Studio 2005最好选择自定义安装方式,把不用的一些组件都删掉,这样会节省不少的磁盘空间。
WINCE6.0的Platform Builder不像WINCE5.0是独立的,而是作为VS2005的插件,以后建立和定制OS、编译调试全部在VS2005里完成。
Windows_CE_6.0搭建开发环境及模拟器的使用

Windows Embedded CE 6.0开发环境搭建过程1、先装Visual Studio 2005, 我拿到的是Professional Edition 英文版的。
需要使用虚拟光驱软件加载后再安装,公司目前存在的另一个以散装文件的方式提供的安装后无法安装升级,最后在编译和下载内核的时候会出现问题。
安装过程中最好别用DEFAULT安装,把组件CUSTOM一下,不然会花很多冤枉的磁盘空间。
WINCE600的Platform Builder不像WINCE500是独立的,而是作为VS2005的插件,以后建立和定制OS、编译调试全部在VS2005里完成。
在此之前如果你已经安装了Wince6.0 的话,建议你将它卸载干净,等第一步和第二步都顺利完成之后再重新安装。
因为Wince6.0的PB是作为VS的一个插件存在的。
2、安装Visual Studio 2005 Service Pack 1, 这是必须的装的, Release Note 里面提到SP1提供了Windows Embedded 6.0 platform and tools support。
不同的VS2005版本(Standard / Professional / Tem Edition) 会对应到不同的下载上,不过目前这个版本可以同吃以上多种版本,官方命名为:VS80sp1-KB926601-X86-ENU.exe,如果你的操作系统是Vista版本的话,你需要去微软的官方网站重新下载,因为这个版本只是针对XP操作系统升级的包。
安装升级包的时间比较长,需要耐心等待!3、安装MSDN,从VS2005的安装页里选择。
新版的MSDN界面功能看起来比较酷,但CE6的Product Documentation写得实在潦草,不少细节貌似没写清楚,所以这里建议选上CE5的产品文档留着以后作参考。
4、安装Windows Embedded CE 6.0。
应用程序开发人员可以不装,可以利用CE6生成的SDK 来工作;但是不装的话,恐怕无法在本地MSDN得到CE6的产品文档,另外还有PUBLIC 目录下丰富的application sample code了。
wince 6.0

微软还将Visual Studio 2005专业版作为Windows Embedded CE 6.0的一部分一并推出。这对微软来说又是一次史无前例的突破。Visual Studio 2005专业版将包括一个被称为Platform Builder的功能强大的插件,它是一个专门为嵌入式平台提供的“集成开发环境”。这个集成开发环境使得整个开发链融为一体,并提供了一个从设备到应用都易于使用的工具,极大地加速了设备开发的上市。 Windows Embedded CE 6.0重新设计的内核具有32,000个处理器的并发处理能力,每个处理有2GB虚拟内存寻址空间,同时还能保持系统的实时响应。这使得开发人员可以将大量强大的应用程序融入到更智能化、更复杂的设备中。无论在路上、在工作还是在家里,都可以使用这种设备。
在路上: Windows Embedded CE 6.0加入了新的单元核心数据和语音组件,这使得设备能够通过蜂窝通讯网络建立数据连接和语音通话,从而实现机器对机器的通讯应用场景,并构建相应的设备,如停车表、自动售货机和GPS设备等。
在工作上: Windows E源自bedded CE 6.0包含的组件更便于开发者创建通过Windows Vista内置功能无线连接到远程桌面共享体验的投影仪。
在Windows Embedded诞生十周年之际,微软将首次在“共享源计划(Microsoft Shared Source programme)”中100%毫无保留地开放Windows Embedded CE 6.0内核,(GUI图形用户界面不开放)比Windows Embedded CE的先前版本的开放比例整体高出56%。“共享源计划”为设备制造商提供了全面的源代码访问,以进行修改和重新发布(根据许可协议条款),而且不需要与微软或其他方共享他们最终的设计成果。尽管Windows操作系统是一个通用型计算机平台,为实现统一的体验而设计,设备制造商可以使用Windows Embedded CE 6.0这个工具包为不同的非桌面设备构建定制化的操作系统映像。通过获得Windows Embedded CE源代码的某些部分,比如:文件系统、设备驱动程序和其他核心组件,嵌入式开发者可以选择他们所需的源代码,然后编译并构建自己的代码和独特的操作系统,迅速将他们的设备推向市场。
Windows CE 6.0设备驱动结构与系统调用性能

Windows CE 6.0设备驱动结构与系统调用性能
钟川;陈金坦
【期刊名称】《现代计算机(专业版)》
【年(卷),期】2009(000)002
【摘要】介绍Windows CE 6.0新的特征,重点分析Windows CE 6.0在存储嚣管理、设备驱动程序结构、系统调用性能,介绍Windows CE 6.0在其他方面的改进.【总页数】2页(P142-143)
【作者】钟川;陈金坦
【作者单位】广东省公路管理局,广州,510075;广东省公路管理局,广州,510075【正文语种】中文
【中图分类】TP3
【相关文献】
1.微软Windows Embedded CE 6.0 R3支持丰富的用户体验及与Windows 7的连接 [J],
2.Windows CE和桌面Windows 2000/XP设备驱动开发的区别 [J], 刘彦峰;李峥
3.Windows CE设备驱动程序开发 [J], 郝旺;杨一帆
4.Windows CE和Windows 2000/XP设备驱动开发的区别 [J], 刘彦峰;李峥
5.WindowsCE平台下USB超声波采集设备驱动的设计与实现 [J], 曹德华;雷跃明因版权原因,仅展示原文概要,查看原文内容请购买。
旗舰版Win7搭建WinCE6.0环境以及第一个Hello Windows CE程序

旗舰版Win7建立WinCE6.0环境Windows CE 6.0所使用的Platform Builder 和以往的Windows CE 5.0/4.2等均不同,它并不是独立的开发平台软件,而是作为VS2005的一个插件来安装使用的,因此必须先安装VS2005,以后所有的内核配置编译等开发都基于VS2005进行。
在安装WinCE6.0之前要先安装VS2005以及Vs2005的相关补丁,而所装操作系统(XP、Win7)和VS2005版本不同(中文版、英文版),所需的补丁也有所不同。
下面就罗列出不同操作系统和不同版本VS2005所需的补丁。
安装软件列表如下,以下排列顺序也是安装顺序。
安装这些软件大概占用14G硬盘空间,以下软件皆可在网上下载到。
软件列表1.Visual Studio 20052.Visual Studio 2005 Service Pack 1若安装的是英文版VS2005,则需要安装的补丁的文件名为:VS80sp1-KB926601-X86-ENU.exe;若安装的是中文版VS2005,则需要安装的补丁的文件名为:VS80sp1-KB926604-X86-CHS.exe3.Visual Studio 2005 Service Pack 1 Update for Windows Vista若使用的是WindowsXP,则不用安装此项。
若使用的是Windows7,则需要安装此补丁。
若安装的是英文版VS2005,则需要安装的补丁的文件名为:VS80sp1-KB932232-X86-ENU.exe;若安装的是中文版VS2005,则需要安装的补丁的文件名为:VS80sp1-KB932230-X86-CHS.exe4.Visual Studio 2005 Service Pack 1 ATL Security Update若使用的是XP系统,则不必安装该补丁。
文件名:VS80sp1-KB971090-X86-INTL.exe ATL是ActiveX Template Library 的缩写,它是一套C++模板库5.Windows Embedded CE6.06.Windows Embedded CE 6.0 Platform Builder Service Pack 17.Windows Embedded CE 6.0 R28.Windows Embedded CE 6.0 R39.安装模拟器Microsoft Device Emulator 2.0 -- Standalone Release10.CHSEmu.msi这个文件是我从网上下载到的别人创建的SDK,如果你自己创建自定义SDK不成功,或者不想自己创建一个SDK的话,直接安装这个SDK就可以了。
Wince6.0应用开发:一、平台搭建

Wince6.0应用开发:一、平台搭建由于需要参加一个比赛,于是就接触了WinCE6.0的应用开发,可是所看到的资料大部分都是关于WinCE6.0系统的开发,或者在系统之上的驱动开发。
像我这种只在WinCE6.0上利用厂商提供的类库进行应用开发的真实伤不起。
下面介绍开发环境:我的自己的系统是WIN7的系统其实假如你和我一样的话只开发应用的话,其实根本不需要按照网上那样下差不多4G的东西。
需要做的是,一、装个vs2008(记得包含智能设备开发这一项,vs2010是不支持智能设备开发的。
当然你也可以选择vs2005,这随便你。
vs2008对应的Wince上的.net compact framework3.5,而vs2005对应的是2.0),二、再装个WINCE6.0_CHS_SDK(这是个wince6.0的SDK软件开发包)三、安装一个Wince设备的同步软件。
四、(可选择)假如你想要让你的模拟器上网的话,你就吧Virtual Pc 2007安装上吧!详细的步骤:一、装个vs2008开发应用的话,比较快捷的无疑有c++以及c#,所以这就看你自己的需要的了,不过在安装的时候,记得选择上智能设备课编程技术这一项。
如下图这样第一步就完成了。
二、安装这个的目的是因为其提供了一个Win ce6.0的模拟器,之后只需要将写好的程序点击(开始执行不调试)或者(启动调试)都行,vs2008便会在模拟器上部署应用程序。
之后便可以执行了。
下载地址:《传送门》安装时的注意事项:1、安装的时候记得选择自定义2、然后如下图记得取消文档这一项,否则会出现安装失败的提醒。
三、同步软件的安装:Winxp:装的是Activesync 4.5 《传送门》Win7:装的是Windows mobile center 《传送门》补充:假如百度网盘的内容被取消了,给我留言,我会马上补充回来的四、Virtual Pc 2007安装后便能在wince模拟器中,做些设置便能上网了。
WINCE6.0体系结构学习

WINCE6.0体系结构学习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 Coredllcoredll.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下的介绍。
Windows CE 6.0 安装顺序 - 操作系统

Windows CE 6.0 安装顺序- 操作系统1、先装Visual Studio 2005, 我拿到的是Professional Edition。
最好别用DEFAULT安装,把组件CUSTOM一下,不然会花很多冤枉的磁盘空间。
WINCE600的Platform Builder不像WINCE500是独立的,而是作为VS2005的插件,以后建立和定制OS、编译调试全部在VS2005里完成2、安装Visual Studio 2005 Service Pack 1, 发布的地址/zh-cn/vstudio/bb265237.aspx 这是必须的装的,Release Note里面提到SP1提供了Windows Embedded 6.0 platform and tools support。
不同的VS2005版本(Standard / Professional / Tem Edition) 会对应到不同的下载上,不过简单点就用这个下载/downloads/details.aspx?familyid =BB4A75AB-E2D4-4C96-B39D-37BAF6B5B1DC&displayl ang=en 430多兆,通吃所有版本。
3、可选,安装Visual Studio 2005 Service Pack 1 Update for Windows Vista。
发布和下载网址/downloads/details.aspx?FamilyI D=90e2942d-3ad1-4873-a2ee-4acc0aace5b6&displaylang =en在SP1的基础上增加对VISTA的支持。
注意一定要先装SP1,再装这个,在System Requirements里强调了Required Software: licensed copy of a Visual Studio 2005 and Visual Studio 2005 Service Pack 1. 我当时以为这个包含了上面SP1,浪费了不少时间4、安装MSDN,从VS2005的安装页里选择。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Windows CE 5.0内存模式
CE 5.0
虚拟内存管理器 的运作方式决定 了固定进程slot
模式
(所有的slots都 在这里)
Kernel
Slot 97 – Nk.exe
2 GB 内核空间
共享内存
32个进程
进程Slots占据 VM的低位2GB 空间,这就使得 每个进程有固定 的大小以适合32 个进程数量。
Page 7
CE 6.0操作系统
Windows CE 5.0内存模式
• 虚拟内存映射
• Kernel有2GB • 所有进程共享2GB虚拟内存映射
• 被分成32MB “slots”
• 32个进程的限制
• 每一个进程分配一个32MB的slot • 总共只有32个slots可供分配
• 共享内存
• 用户空间的上半部分是共享内存 • 能被所有进程读写
开发者
• 设备在消费者手里的生命周期正越来越短
12 months
• 开发者要在时间减少的同时做更多的开发
• 根据应用场景的不同设备的差异越来越大
• 我们希望在硬件和软件平台上的投资能在多个产品中用到
CE 6.0: 什么保留了下来?
• 32位多任务操作系统 • 内存占用少 • 组件化 • 硬实时 • 处理器体系结构
Slot 32 Slot 31
: :
Slot 6 Slot 5 – Services.exe
Slot 4 – GWES.exe Slot 3 – Device.exe Slot 2 – Filesys.exe Slot 1 – ROM DLLs
Slot 0 – Execution
所有进程共
享2GB虚拟 内存
memory manager worked
(All slots were always there)32 pro Nhomakorabeaesses
Process slots occupied lower
2GB VM, this enforced a
fixed size per process to fit 32 processes
Windows Embedded CE 6.0 New Features
Ying Li Developer Evangelist Microsoft (China) Co., Ltd. v-lying@
我们的议程
• Windows CE的11年发展史: 1996 – 2007
CE 5.0
Kernel
Slot 97 – Nk.exe
2 GB 内核空间
CE 6.0
Kernel Filesys. GWES Drivers
Shared memory
Medical devices
Entertainment devices
Remote Controls
Mobile handhelds
VoIP phones
Sensor Networks
Set-top boxes
Gateways
Increasing functionality
Decreasing hardware requirements
Windows CE的发展历程
"Alder"
Windows CE 1.0
11/1996
"Cedar" Windows CE 3.0
4/2000
"Macallan" Windows CE 5.0
8/2004
"Tomatin" NMD FP
SP1 SP2 2.11 2.12
"Birch" Windows CE 2.0
Object Store
ROM FS
Storage Manager
Block Device
Serial
Custom
FTP HTTPD TELNETD
RAM
ROM/ FLASH
Timer INTC
CPU
HARDWARE
Serial
USB (Function)
PCCard
...
Page 12
CE 6.0新内核介绍
• 每个进程都有2GB的虚拟内存 • 32K进程 • 统一内核
• 关键的OS组件都移到了kernel空间
• 改进的系统性能 • 增强的安全性和健壮性 • 高度的向后兼容性
Windows Embedded CE 6.0内核模式
Enforced fixed process slot
model due to the way virtual
Windows Mobile Windows Mobile Smartphone Pocket PC Phone
Retail
Windows-based
Point-of-Sale
terminals
Health Monitoring
Portable Media Center
Windows Automotive
Execution slot 和共享DLL slot
Page 10
Windows CE 5.0系统体系结构
Application(s) COREDLL
NK.EXE
GWES.EXE
FILESYS.EXE
DEVICE.EXE DevMgr.Dll
SERVICES.EXE
OAL
Touch Display Keyboard
• Windows Embedded CE 6.0的关键特性 • 内核和驱动器的体系结构 • 开发及相应的工具 • 应用场景
2
微软嵌入式系统的布局
.NET Micro Framework
CE 6.0
Windows XP Embedded
Wearable Devices
Auxiliary Displays
11/1997
"Jameson" 4.1
"Talisker" Windows CE
.NET 4.0
1/2002
"McKendric" 4.2
"Yamazaki" CE 6.0
11/2006
行业趋势
设备
• 设备的联网需求持续增长(在家里,在工作时,在户外) • OEM在自己的嵌入式设备中集成许多越来越复杂的应用 • 设备需要和其他设备和技术能更好的在一起工作
• ARM, x86, SH4, MIPS
• 开发选项
• Win32, .NET CF, MFC, ATL, ...
• 共享源码 • 10年支持策略
6
CE 6.0关键特性
• 比Windows CE 5.0更多的特性 • 最新的开发工具 • 下一代内核 • 应用程序兼容性 • 增强的健壮性和安全性 • 用户模式驱动器模式 • 增加了许多新特性