WinCE 的发展史及相关基础知识_wince5.0 界面-程序员宅基地

技术标签: 非技术问题  CE系统(5.0/6.0/7.0)  其它  

这两天查找了一下 WinCE 的发展史,及其它一些基本的知识。将这些基础的东东放在一起,以方便学习。如果有什么不对的地方,将提出来。
(1)Windows CE/Windows Embedded 的差别
WindowsCE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。
Windows XP Embedded是一种嵌入式操作系统,可以以组件化形式提供 Windows 操作系统功能。Windows XP Embedded 与 Windows XP Professional 一样基于二进制,包含 10,000 多个独立功能组件,因此开发人员在自定义设备映像中管理或降低内存占用量时可以选择并获得最佳功能。
(2)WinCE 发展史 
1996年
第一代微软移动设备操作系统 Windows CE 1.0
Windows CE 1.0是一种基于 Windows95 的操作系统,其实就是单纯的 Windows95 简化版本。
为手持式PC而设计。该手持式PC配有480*240或640*240的屏幕,有一个很小的矩形键盘。
1998年
Fall Comdex 97大会上,升级版本为Windows CE 2.0(设备称为Palm-Size PC)
WinCE 2.0 不仅比 CE1.0 快的多,而且是彩色显示,具有略大一些的键盘。Windows CE 2.0仍是基于Win95的操作系统。
2000年 4 月
新的操作系统改名为Pocket PC 2000(也简称为 Pocket PC或者Windows CE3.0)
WinCE3.0是微软的Windows Compact Edition,是一个通用版本,并不针对掌上产品,标准PC、家电和工控设备上也可以安装运行。WinCE3.0支持5系列CPU: x86,PowerPC,ARM,MIPS,SH3/4。WinCE3.0属于付费软件,安装许可(Licence)费用为$20,10份起,批量时大致能降到$15/一份。在2002年8月,专门为手机优化过的微软Pocket PC 2002 Phone Edition操作系统匆匆问世,2002年10月,国内第一款PPC手机--多普达686上市了,随后熊猫推出了CH860、联想推出ET180。
2001年
Pocket PC 2002问世
2002年末
推出增加手机功能的 Pocket PC Phone 2002,同年,Smartphone 2002(Smartphone不支持触摸)诞生
2002 年 11 月
Windows CE. NET(即Windows CE 4.0)是微软于2002年1月份推出的首个以.NET为名的操作系统,从名字上我们就可以知道它是微软的.NET的一部分。WinCE. NET是WinCE3.0的升级,同时还加入.NET Framework精简版,支持蓝牙和.NET应用程序开发。
.NET特别强调网络功能,该操作系统主要为移动用户提供基于网络的服务和内容,它不但能够支持蓝牙和802.11b无线局域网技术,同时还可以应用于其他设备,如数码相机、小型客户端设备、机顶盒,以及自动化设备等。
2003 年 4 月
Windows CE. NET 4.2:Windows CE. NET 4.0 的升级版,对Windows CE先前版本的强大功能进行了进一步的扩充和丰富,基于其开发的设备将从这些微小但重要的变化中获得更好的性能和更强的Windows集成功能。
2003年 6 月
微软将Pocket PC 2003和Smart Phone 2003统一改称为Windows Mobile 2003,依然包括Windows Mobile 2003 for Pocket PC、Windows Mobile2003 forPocket PC Phone Edition和Windows Mobile 2003 forSmartphone。
Windows Mobile 2003是以Windows CE 4.2为核心。     
2004 年 8 月
微软宣布 Windows CE5.0 扩大开放程序源代码。在这个开放源代码计划授权下,微软开放 250 万行源代码程序作为评估套件(evaluation kit),支付 Win CE5.0 核心每台机器3美元的授权费用。
D3D Mobile、FastStart、GDI功能增强。 
增强安全性。 
广泛的源代码访问和设计灵活性。 
增加25%的源代码开放。
2005年
微软没有延续年号的命名方法,采用操作系统所采用的Windows CE内核版本命名,将新的操作系统称为WindowsMobile 5.0。依然包括Windows Mobile 5.0 for Pocket PC、WindowsMobile 5.0for Pocket PC Phone 和Windows Mobile 5.0 forSmartphone。
2006 年 11 月
微软公司其最新的嵌入式平台Windows Embedded CE 6.0正式上市。微软将首次在“共享源计划(Microsoft Shared Source programme)”中100%毫无保留地开放Windows Embedded CE 6.0内核,(GUI图形用户界面不开放)比Windows Embedded CE的先前版本的开放比例整体高出56%。Windows Embedded CE 6.0重新设计的内核具有32,000个处理器的并发处理能力,每个处理有2GB虚拟内存寻址空间,同时还能保持系统的实时响应。
2007年
微软在1月份的SGSM大会上微软正式推出WindowsMobile6.0移动设备操作系统,包括三个版本,但是版本分类采用了不同的命名方式:Professional(支持触摸屏智能手机)、Standard(非触控屏智能手机)、Classic(不具备手机功能的手持设备)。
2008年
微软推出Windows Mobile 6.1 操作系统,其主要的特性在于稳定性的提高方面。
2009年
即将发布Windows Mobile 6.5 操作系统,新版系统重点强化了对触摸操作的支持和优化,比传统方格式界面更易于触摸点击,例如蜂窝形的主菜单界面。新版本的Internet Explorer Mobile浏览器也增加了可触摸的页面缩放滑竿和常用命令。“Windows Marketplace”在线商店将为手机提供各类应用的直接下载
2010 年 6 月
在 2010 年6月1日-5日的台北 COMPUTEX 展会上,微软正式公布了其嵌入式产品线最新的一员 Windows Embedded Compact 7。微软推出的 Windows Phone 7 所采用的内核正是使用了类似的 WinCE 7 内核。不仅如此,Windows Phone 平台也是基于 WinCE 平台而定制出来的产品。
2013 年 3 月
微软发布一个嵌入式系统被公布出来,它的名字叫 Windows Embedded Compact 2013,它可以同时工作于 x86 和 ARM 架构体系下。
核心操作系统的改进,包括内存管理和网络功能;
•文件系统的性能改进,使设备始终可用;
•启动优化,使用快照启动,实现设备在几秒钟内进入驱动程序加载,进入特定UI等已知状态;
•内置支持Wi-Fi、蜂窝网络和蓝牙技术,以及无缝连接到Windows Azure,实现强大的互联智能系统;
•对创建了HTML5浏览器等附加解决方案的成千上万开发者和合作伙伴提供支持


(3)因为 WINCE 是 32 位的嵌入式操作系统,所以 WINCE 的虚拟寻址能力可达4GB(为什呢,2^32=4GB)。
但是 WINCE5.0 和 XP 操作系统的每个进程独享 4GB 虚拟地址空间不同,WINCE5.0 中所有的进程共享一个 4GB 的虚拟地址空间。这 4GB 的虚拟地址空间被分为两个 2GB 的区域,其中低地址的那2GB区域 (0x00000000~0x7FFFFFFF)是用户虚拟空间,这块虚拟空间由应用程序的共用,也就是说应用程序申请的内存都会从低2GB虚拟内存空间分配的;而高2GB区域(0x80000000~0xFFFFFFFF)是操作系统的内核虚拟空间,供WINCE操作系统本身使用。
WINCE5.0 的进程数量最多只能达到 32 个,而且每个进程只能独享 32MB 的虚拟空间(这个 32MB 的空间也叫一个 slot),这33个进程(32+1,这个1就是指slot0,因为slot0用于映射当前在处理器上执行的线程所在的进程)占用的虚拟空间0x00000000~0x41FFFFFF(slot0~slot32),slot33~slot63对应的虚拟地址空间是0x42000000~0x7FFFFFFF,这块虚拟地址空间是由所有的进程共享的,如果每个进程独享的32MB虚拟地址空间不够用,那么进程可以在这个范围申请虚拟地址空间,这个范围包括对象存储和内存映射文件(.map文件,每个进程都有自己的map文件)。此范围的最后一个slot(slot63)从0x7E000000~0x7FFFFFFF用来存放纯资源DLL。如果某个DLL里面只有资源信息(比如图标、位图、对话框及字符串表灯),这个DLL就会被加载到这个空间内。
WinCE 6.0 重新设计的内核具有 32,000 个处理器的并发处理能力,每个处理有 2GB 虚拟内存寻址空间,同时还能保持系统的实时响应。


(4) 驱动框架变化
(a)应用层/内核层
(b)框架的变化:从 4.2 到 5.0/从5.0 到 6.0
(5) 应用框架变化
(a) Win32/MFC,变化不大
(b) ActiveSync 通过 USB 与开发板连接
(c) 模拟器


(6) WinCE 开发环境搭建分为两部分:
(a)WinCE 系统定制与驱动开发
Platform Builder 与相关 BSP(Board Support Package:板级支持包) 的开发。
早期的 PB 是一个独立的工具,从 WinCE5.0 开发 PB 做为 Visual Studio 的一个插件。所以,安装 PB 前需要安装对应版本的 Visual Studio。
(b)应用开发环境
  WinCE 1.0 和 2.0 的开发环境不明。
  EVT3.0(Embedded C++ 3.0 和 Embedded VB 3.0),Embedded C++ 4.0(没有看到对应的 VB版本),Visual Studio 2005/2008。
  应用开发需要安装 SDK(Software Development Kit:软件开发工具包),由于 WinCE 支持不同类型的 CPU,选择 SDK后,就可以选择 SDK 支持的 CPU 类型。


(7) 应用框架
与 Windows 下的框架基本相同,需要注意的是字符的编码。Windows CE下所有系统 API 只有 Unicode 版本,默认的字符串也采用 Unicode 编码。
API 只有 Windows API 的一个子集,但增加了一些移动设备特有的 API。
(a)Win32
(b)MFC


(8) 消息机制
Windows 的消息系统是由3个部分组成的:
a)消息队列。Windows能够为所有的应用程序维护一个消息队列。应用程序必须从消息队列中获取消息,然后分派给某个窗口。
b)消息循环。通过这个循环机制应用程序从消息队列中检索消息,再把它分派给适当的窗口,然后继续从消息队列中检索下一条消息,再分派给适当的窗口,依次进行。
c)窗口过程。每个窗口都有一个窗口过程来接收传递给窗口的消息,它的任务就是获取消息然后响应它。窗口过程是一个回调函数;处理了一个消息后,它通常要返回一个值给Windows。
注意回调函数是程序中的一种函数,它是由 Windows 或外部模块调用的。
一个消息从产生到被一个窗口响应,其中有5个步骤:
a) 系统中发生了某个事件。
b) Windows 把这个事件翻译为消息,然后把它放到消息队列中。
c) 应用程序从消息队列中接收到这个消息,把它存放在 TMsg 记录中。
d) 应用程序把消息传递给一个适当的窗口的窗口过程。
e) 窗口过程响应这个消息并进行处理。
步骤c和d构成了应用程序的消息循环。
消息循环往往是 Windows 应用程序的核心,因为消息循环使一个应用程序能够响应外部的事件。消息循环的任务就是从消息队列中检索消息,然后把消息传递给适当的窗口。
Windows 操作系统最大的特点就是其图形化的操作界面,其图形化界面是建立在其消息处理机制这个基础之上的。如果不理解 Windows 消息处理机制,肯定无法深入的理解 Windows 编程。


(9)WinCE 下路径的最大长度
一般都未达到 MAX_PATH(260)的限制,目录的级数与目录名的长度有一定的关系:目录名越长,目录级数越少。
WinCE 下每个目录中最大文件个数
http://blog.csdn.net/91program/article/details/27994109
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/91program/article/details/28110877

智能推荐

SyntaxError: Non-ASCII character '\xef' in file server.py on line 18, but no encoding declared_syntaxerror: non-ascii character '\xe3' in file de-程序员宅基地

文章浏览阅读1k次。解决方案:在第一行加入#coding:utf-8注意:一定是在第一行加,python2.7实测可以。_syntaxerror: non-ascii character '\xe3' in file deal.py on line 18, but no e

ffmpeg 从avio_read 到 file_read-程序员宅基地

文章浏览阅读1k次,点赞24次,收藏10次。第一层: aviobuf.c中, AVIOContext对象当家, 这就是pReadCtx.第二层: avio.c中, URLContext 当家, 简记为h.第三层: file.c中, FileContext 对象当家,简记为c.

接口相关配置_tvbox黄源接口9月-程序员宅基地

文章浏览阅读7.3k次。1,相关接口系统配置(1)配置应用服务器,选择YES(2)网关配置点击ping网关,显示status:active则网关正常。(3)点击网关设置属性配置peoplesoft节点配置填写正确的应用程序服务器url,用户id为ps,tools发行版本为开发工具版本,可点击开发工具help,about application designer 查看版本..._tvbox黄源接口9月

素数筛_acm素數篩-程序员宅基地

文章浏览阅读110次。We know what a base of a number is and what the properties are. For example, we use decimal number system, where the base is 10 and we use the symbols - {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. But in different bases we use different symbols. For example in binary _acm素數篩

Appium 自动化测试详解元素定位方式_appium 根据class定位元素driver.find_element(appiumby.cla-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏21次。简介在做UI自动化的时候,有很大一部分精力是在进行定位元素操作,元素定位如果不准确,直接影响自动化的成败和效率环境Appium server :v1.20.2Appium-Python-Client :2.1.2selenium 4.1.0常用的元素定位方式id定位元素class_name定位元素content-desc定位元素name 定位元素 (appium1.5及之后的版本废弃了name属性)xpath定位元素uiautomator定位元素,Android独有id 定_appium 根据class定位元素driver.find_element(appiumby.class_name

Anaconda的python虚拟环境中安装cudatoolkit和cudnn加速tensorflow_conda安装cudatoolkit(1)_虚拟环境中下载cudatoolkit-程序员宅基地

文章浏览阅读811次,点赞25次,收藏11次。大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**_虚拟环境中下载cudatoolkit

随便推点

首个重复字符(对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。)_对于一个字符串,请设计一个高效的算法,找到第一次重复出现的次数 输入为:“qywyei-程序员宅基地

文章浏览阅读3.1k次。对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。测试样例:输入:"qywyer23tdd",11输出:返回:y解题思路:用 indexOf()来获取当前元素下标,在计算它后面与它相同的元素下标,保存下来,与后面用相同方法求得的下标比较..._对于一个字符串,请设计一个高效的算法,找到第一次重复出现的次数 输入为:“qywyei

【Linux命令-转载】nohup 和 & 绝配(让命令在后台执行)-程序员宅基地

文章浏览阅读428次。nohup 的作用可以将程序以忽略挂起信号(SIGHUP)的方式运行。常见的用法是和 & 命令一同使用,将命令放置到后台运行,即使终端挂掉,进程会忽略挂起信号,继续运行。将程序放到后台运行,一般有两种方式:(1)command &:后台运行,关掉终端会停止运行。(2)nohup command & :后台运行,关掉终端也会继续运行。「注意:」(1)如果使用nohup执行程序未显示进行标准输出重定向,则标准输出默认重定向当前工作目录的 nohup.out 文件中。

2003服务器系统QQ安装不了,windows2003server-程序员宅基地

文章浏览阅读957次。windows2003server是一款针对大中型企业而设计的服务器操作系统,拥有32位和64位两种版本,保证了最佳的灵活性和可伸缩性,它支持的应用程序包括:联网、消息传递、清单和顾客服务系统、数据库、电子商务 Web 站点以及文件和打印服务器。有需要的朋友可以到本站进行下载!windows2003server简介:Windows Server 2003 企业版允许通过添加处理器和内存来提高服务器..._qq winserver

最新《市场调研与预测》考试重点_实验内容:根据收集的资料和调查分析的结果,进行战略总体决策,制定预算,运用定位策略,表现策略进行策划-程序员宅基地

文章浏览阅读177次。1.通过实地试验进行调查取得的资料,客观实用,排除人们主观估计的偏差2.调研人员可以针对调研事项的需要进行合理的实验设计,有效的控制实验环境,有意识的使调研对象在相同条件下重复出现,反复进行试验,使调研的结果更加准确3.调研人员可以主动的引起市场因素的变化,并通过控制其变化来研究该因素对市场产生的影响,而不是被动、消极的等待某种现象的发生,这是其他调研法无法做到的。一个实际的市场调研与预测设计的目标并不是一定要形成最精确的信息,而是在一定的成本费用条件下形成最有价值的信息。政府部门的市场调研;_实验内容:根据收集的资料和调查分析的结果,进行战略总体决策,制定预算,运用定位策略,表现策略进行策划,对驴友的需求和特点进行分析,展开创意与文案写作,考虑分析网络新产品和服务项目开发的可能性。

vi一个简单操作_vi a.txt-程序员宅基地

文章浏览阅读399次。进入:打开VIM之后,按一下insert键或者i键就可以进入输入状态了 #vi a.txt退出:退出的时候先按Esc键,出来冒号(:)就可以敲命令, q! 回车 不保存 wq 保存 wq!强制保存并推出(适用与只读文件) x 保存_vi a.txt

vue3 antd pro 框架动态路由_vue3+ant design + ts+pro-程序员宅基地

文章浏览阅读629次。1. 在store/user.ts中,找到 GENERATE_ROUTES_DYNAMIC 方法中调用的方法:generatorDynamicRouter(),此方法在在router/router-guards/router-guards.ts中。2. router/router-guards/router-guards.ts中,通过方法getCurrentUserNav(),获取到个人信息中的菜单,将菜单列表传generator()方法中,此方法将菜单列表处理成路由所需格式的路由数组。_vue3+ant design + ts+pro

推荐文章

热门文章

相关标签