WINCE系统
WinCE操作系统
WinCE操作系统WinCE操作系统是通用型的嵌入式操作系统,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。
它1996年开始发布Windows CE 1.0版本,2004年7月发布了Windows CE .NET 5.0版本,目前用得最多的是Windows CE .NET 4.2版本,其发展速度也是很快的,功能上自不必描述,它的主要应用领域有PDA市场、Pcket PC、Smartphone、工业控制、医疗等。
就WinCE来讲,你无法买到WinCE这个操作系统,你买到的是Platform Builder for 4.2的集成开发环境,我们也简称为PB,利用它你可以剪裁和定制出一个符合你自己需要的 4.2的操作系统,因此,我们说的操作系统实际上完全是由自己定制出来的,这就是嵌入式操作系统最大的特点。
Windows CE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。
Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。
Windows CE并非是专为单一装置设计的,所以微软为旗下采用Windows CE作业系统的产品大致分为三条产品线,Pocket PC(掌上电脑)、Handheld PC(手持设备)及Auto PC。
WindowsCE版本主要有1.0、2.0、3.0、4.0、4.2、5.0 和6.0WINCE1.0是一种基于Windows95的操作系统,其实就是单色的Windows95简化版本。
技术支持、直接资助等手段聚集了大量合作厂商,使WinCE类的PDA 阵容越来越强大。
六.Windows CE平台搭建
Windows CE的烧写
Jtag烧写方式 USB烧写方式 网络烧写
强调:对于这块TQ2440板子的内核烧写, 我们采取的是USB烧写方式。其他的烧写 方式大家感兴趣的话可以在网上搜索相关 的资料来尝试。
Windows CE的串口调试工具
Windows Embedded CE是微软公司嵌入式、移 动计算平台的基础,它是一个开放的、可升级 的32位嵌入式操作系统。 CE中的C代表袖珍(Compact)、消费 (Consumer)、通信能力(Connectivity)和 伴侣(Companion);E代表电子产品 (Electronics)。 WinCE不仅继承了传统的Windows图形界面,并 且在WinCE平台上可以使用Windows95/98上的 编程工具、使用同样的函数、使用同样的界面 风格,使绝大多数的应用软件只需简单的修改 和移植就可以在WinCE平台上继续使用。
综上所述
1. BSP是板级支持包,与你做的或要编程的硬件有 关,由硬件厂商提供。 2. PB需要BSP来配置硬件平台驱动。 3. PB下编译BSP通过后,可以导出和BSP相关的 SDK供EVB/EVC编程用。同时,生成NK.bin映 像文件,NK烧写到供嵌入式系统硬件平台的启 动介质,通过引导启动WinCE系统。 4. WinCE下面的应用程序可以通过注入EVC的开发 工具开发。 5. EVC在编译的时候需要选择硬件平台,由SDK提 供。
2. 还是靠同步功能,不过不是用EVC的自动发送了, 而是直接通过PC上面虚拟的移动设备复制到开 发板的指定目录下,然后在开发板端执行。
3. 从PC端复制编译出来的应用程序到U盘中,然后 再将U盘中的应用程序复制到开发板端。 4. 将编译好的应用程序复制到BSP包中的“Files” 目录下,然后修改“Files”目录下的 “platform.bib”文件,参考如下所示格式添加到 FILES栏目下:
第二章 Wince的体系结构和功能
驱动 程序
BSP当中应该包括对应开发板上所有的外部设备的 驱动程序,保证WinCE操作系统能够发挥此开发 板的最大效能。
配置 文件
运行时所需的二进制文件 包括:.DB、 reginit.ini、 .DAT。
O E M 层 的 组 成
OAL
• 主要负责内核与硬件通讯 • 硬件平台初始化
硬件初始化
内核性能 监测
LOGO
www.themegalle
3
OEM层
OEM(Original Equipment Manufacturer,原始设
备制造商)表示,一些制作硬件主板的厂商可根据自己 的产品特点对Windows CE进行定制,从而使Windows CE可以运行在这些厂商的主板上,在出售硬件开发板的
同时,也会把OEM层以BSP的形式提供给客户供其使用。
WinCE5.0的系统架构
OEM适配层 (OAL)
LOGO
www.themegalle
(OEM adaptation layer)内核抽象出来的与硬件交互 的接口;代码通常是与硬件高度相关;负责内核与 硬件的通信。
引导 程序
初始化硬件,加载操作系统映像(OS Image)到内 存,然后跳转到操作系统代码去执行。
2.1 Windows Ce的结构功能概览
• 2.1.1 层次体系结构 • 微内核,进程、线程,调度、内存管理等基本模 块,其他作为用户进程 • 多层次设计,层层之间,下层服务上层,上层依 赖下层 • 扩展性、可维护性
WinCE5.0的系统架构 WinCE的可剪裁性,使其体积也非常小。
实质
单体内核
2.1.2 硬件层
Why
1. 2. 3. 4. 处理体系结构不统一 硬件资源通常受限 外部设备的种类繁多 实时性和可靠性
WINCE实验系统硬件说明书
一、概述●CPU:三星公司的ARM9主流芯片S3C2410。
●动态存储器:32MB,芯片HY57V641620。
●海量存储器:64MB,芯片K9F1208。
●以太网:10M,芯片CS8900。
●USB:1个主设备,1个从设备,主板集成。
●串口:1个RS232电平。
●电源:DC5V。
二、S3C2410简介●内核:ARM920T。
●工作电压:内核1.8V,IO电压3.3V。
●工作频率:最高266MHz。
●内部存储器:1、16K D-Cache。
2、16k I-Cache。
●扩展存储控制器:1、地址空间:128M/BANK,总共1G BYTE。
2、数据总线宽度:8/16/32可编程设定。
3、总空间分8组,其中6组可配置成ROM、SRAM等。
另外2组可配置成ROM/SRAM/SDRAM。
4、BANK0-BANK6起始地址固定,BANK7可编程设定。
5、可编程设定各个组的操作时序。
6、支持外部等待信号,可插入等待周期。
7、支持各种ROM启动。
8、在低功耗状态下,支持DRAM/SDRAM的自动刷新。
●时钟和电源管理1、片上MPLL和UPLL。
2、可通过软件给不同的功能电路分配不同的时钟。
3、4种电源管理模式:Normal、Slow、Idle、power-off。
4、电源唤醒功能。
●中断控制器1、55个中断源(看门狗、5个定时器、9个串口、24个外部中断、4个DMA、2个实时时钟、2个模数转换、IIC、同步串口)。
2、可设置外部中断触发为电平触发或边沿触发。
3、可设置电平和边沿触发的优先级。
4、支持快速中断请求。
●定时控制器1、4个带PWM功能的定时器和1个供DMA或中断使用的定时器。
2、可编程设置定时器的占空比、频率和极性。
3、PWM切换延时控制器。
4、支持外部时钟。
●实时时钟控制器1、支持秒、分、小时、日、月、年、星期。
2、时钟频率:32.768KHz。
3、可产生告警中断。
4、可产生时间节拍中断。
●通用输入输出控制器1、24个外部中断源。
winCE嵌入式操作系统介绍
Windows CE 嵌入式系统Windows CE是Microsoft公司的嵌入式操作系统产品。
它是一个紧凑、高效和可扩展的操作系统,具有多线程、多任务、确定性的实时和完全抢先式优先级的操作系统环境,适合于只有有限硬件资源的硬件系统。
操作系统的定制采用模块化设计方式,便于用户的使用。
支持Win32 API和MFC,具有Windows程序设计经验的用户可迅速掌握其编程方法。
第一章绪论BSPBSP是介于主板硬件和操作系统之间的一层,也可以说是操作系统的一部分,主要目的是为了支持操作系统,使之能够正常地在主板上运行.“嵌入性”、“专用性”和“计算机系统”是嵌入式系统的三个基本要素。
一般情况下,嵌入式操作系统可分为两类:一类是面向控制和通信等领域的实时操作系统,如WinRiver公司的VxWorks、ISI公司的pSOS、QNX公司的QNX和ATI的Nucleus等.另一类是面向消费电子产品的非实时操作系统,Windows CE是一个实时操作系统.实时支持功能在以下几个方面提升了Windows CE的性能.(1)支持嵌套中断(2)允许更高优先级别的中断首先得到响应,而不是等待低级别的中断服务线程(IST)(3)更好的线程响应能力(4)对高级别中断服务线程的响应时间上限的要求更加严格,在线程响应能力方面的改进,可帮助开发人员掌握线程转换的具体时间,并通过增强的监控能力和对硬件的控制能力帮助开发人员创建更好的嵌入式应用程序.(5)更多的优先级别,256个优先级别可使开发人员在控制嵌入式系统的时序安排方面有更大的灵活性.(6)更强的控制能力,对系统内的线程数量的控制能力可使开发人员更好地掌握调度程序的工作情况.5 丰富的多媒体和多语言支持第二章Windows CE的体系结构和功能2.1 Windows CE的层次结构2.2 进程、线程与调度2.3 内存管理2.4 存储管理与文件系统2.5 用户界面与图形系2.1.1 微内核结构Windows CE属于比较典型的微内核操作系统在内核中仅仅实现进程、线程、调度及内存管理等最基本的模块,而把图形系统、文件系统及设备驱动程序等等都作为单独的用户进程来实现.这样做显著地提高了系统的稳定性和灵活性.操作系统的结构可分为单体内核结构和微内核结构.传统的UNIX 是单体内核操作系统的代表.单体内核操作系统将图形、设备驱动及文件系统等功能全部在操作系统内核中实现,运行在内核状态和同一地址空间.其优点是减少了进程间通信和状态切换的系统开销,获得较高的运行效率;缺点是内核庞大,占用资源较多且不易剪裁,一旦每个驱动程序出错,就会导致整个系统的崩溃,系统的稳定性、安全性不好.与此相反,微内核系统在内核中只实现那些必须由内核实现的基本功能,而将图形系统、文件系统、设备驱动及通信等功能在内核之外,以系统服务的形式提供各种功能.这种结构的优点是有一个精炼的内核,便于剪裁与移植,而且由于系统服务程序运行在用户地址空间,因而个别驱动程序的错误不至于导致整个系统的崩溃;其不足之处是在运行中用户状态和内核状态频繁地切换,从而导致系统效率不如单体内核.微内核结构用一个水平分层的结构代替了传统的纵向分层的结构。
如何在wince系统上使用远程调试工具
如何在wince系统上使用远程调试工具一、硬件要求:1、PC机一台,需要备有网口2、安装wince的主板二、软件要求:1、需要在PC机上安装EVC4.0或者Platform 50.(4.2,6.0版本也可以)2、安装SDK包3、确保主板的wince能够启动且网卡正常注:在安装过程中,建议将杀毒软件和防火墙关闭,以免误操作三、连接主板:将PC机的网口与主板上的网口连接,设置成同一网段的IP地址四、使用远程调试工具步骤:1、启动主板,进入wince系统2、在主板上设置正确的IP4、在PC上ping下网口是否通5、打开EVC编辑器,选择对应的SDK包6、在选项tools下,选择config Platform Manager7、选择后,如图:例如:使用的是gangdi这个sdk包,点击gagndi Device,选择属性在transpor 选择TCP/IP Transport for Windows CE,点击左侧Configure8、将Fixed port选上,输入5000,然后点击OK9、在Startup 选择Manual Server,点击OK10、在Tools选择一个远程工具(例如Remote Registry Editor)11、点击gangdi Device点击OK,出现下图:12、在wince系统下,点击开始,输入cmd,输入cemgrc.exe /s /t:tcpipc.dll /q /d:192.168.0.2:5000,回车正常的话,光标一直在下面闪烁13、在Manual Server-Action 框下点OK,这样就连接成功,可以看到Remote Registry Editor,如下图。
WINCE系统定制与安装
基于SamArmDvk 9 II开发板的WINCE系统定制与安装2010-08-11 15:40基于SamArmDvk 9 II开发板的WINCE系统定制与安装一、前言嵌入式系统是一种嵌入其他设备和装置内部的系统,不以独立的形式出现。
嵌入式系统根据被嵌入的主体设备和装置的具体需要对本身的软硬件系统进行合理有机的裁剪,是适应主体设备和装置应用的专业计算机系统。
嵌入式系统包括软件和硬件两部分,硬件包括微处理器、存储器、外围设备、I/O接口和图形控制器等,其中微处理器是核心部分;软件包括嵌入式操作系统和应用程序,其中嵌入式操作系统是重要组成部分。
嵌入式系统和一般PC系统的最大不同在于它是面向特定主体设备和装置应用的计算机系统。
它的设计和应用一般需要实时,快速地满足某一个特定的应用要求,功能单一、简单,兼容性不高;具有实时响应、多任务处理、小体积、低功耗和高集成度的特点.同时,嵌入式与主体系统紧密结合应用在不同行业中,是一种技术密集、资金密集、发散性高、与应用行业一起发展的系统,生命周期比一般Pc系统要长.在具体的使用和开发方面,嵌入式系统的软件一般都固化在存储器或单片机中,而不是存储在磁盘等载体中;同时嵌入式系统不具备自举开发能力,必须具备专门的开发软件和工具才可以对嵌入式系统进行修改和开发.二、WINCE.net操作系统的开发与内核定制工具嵌入式操作系统是嵌入式系统的重要组成部分,具有可定制性、可移植性、实时性和低资源占有的特点.WINCE.net就是由微软公司推向市场的一款32位、多线程和多任务的嵌入式操作系统,具有良好的网络通信,图形管理,多媒体管理功能,非常适合小型智能移动设备,即典型的有限内存的无磁盘系统的开发和应用.WINCE.net的设计采用硬件抽象层HAL(Hardware Abstraction Layer)和主板软件支持包BSP(Board Support Package)的方法.其中HAL是一层位于内核和嵌入式系统硬件的代码,用来设定硬件平台,保证了系统的可移植性.而BSP是定制嵌入式操作系统的必要部分,通过定制RSP可以根据具体的硬件系统配置制定操作系统,完成系统的可迁移性。
WINCE系统
WINCE系统Wince操作系统开放分类: 操作系统Microsoft Windows CE快速反应的嵌入式应用常常管理严格的时间反应。
例如,制造过程控制,高速的数据采集设备,电讯交换设备,医用设备,空中“有线”控制,武器发射装备,空间航行和导航,实验室,实验控制,汽车发动机控制,机器人系统。
为保证这种功能,就意味着不仅需要计算精确性,还有结果的时间性,此种应用必须在指定的时间参数内做出反应。
实时系统的广义定义是“对任何外部刺激,计算机做出及时反应是至关重要的系统”,标准定义在Internet newsgroup corp realtime group中。
实时定义为:一个实时系统它的计算正确性,不仅依靠于计算逻辑上的正确,还包括及时的产生结果。
如果没有达到系统时间限制条件,系统也是失效的。
搞清楚实时系统和实时操作系统(RTOS)的区别至关重要,实时系统代表所有系统组成设备——硬件,操作系统和应用——它需要达到系统的要求,实时操作系统(RTOS)只是整个实时系统的一个组成部分,它必须提供足够的功能以确保整个实时系统达到要求。
同样,搞清快速操作系统和实时操作系统之间区别,也很重要,对于一个RTOS 虽然达到全面要求十分有用,但并不是它自己达到这种要求。
Internet neusgronp cornp.realtime列举了作为一个实时操作系统,必须达到的要求: * OS(操作系统)必须是多线程和优先级之分。
* OS必须支持线程优先级。
* 一个优先级继承的系统必须存在。
* OS必须支持可预测的线程,同步发送机理。
另外,OS的行为必须是可预测的,这意味实时系统的开发者必须对系统中断级,系统调用和分时了如指掌:* 必须知道OS和设备驱动器的中数据匹配最大时间。
* 设备驱动器用来处理一个中断最大时间和关于这些驱动器的中断申请信息必须清楚。
* 中断响应(从中断到运行时间),必须可预测并满足功能要求。
每次系统调用时间必须可以预测,并且独立于系统的对象数目。
车机退出wince系统的方法-概述说明以及解释
车机退出wince系统的方法-概述说明以及解释1.引言1.1 概述概述部分的内容:车机是现代汽车中的一种嵌入式电子设备,它为驾驶员和乘客提供多种功能和娱乐服务。
车机通常运行在各种操作系统上,其中一种常见的操作系统是Wince(Windows Embedded Compact)。
Wince系统由微软公司开发并专门用于嵌入式设备,具有稳定性高、能效低以及良好的可扩展性等特点。
本文旨在介绍车机系统以及探讨车机退出Wince系统的方法。
首先,我们将通过对车机系统的功能和特点进行介绍,帮助读者加深对车机系统的理解。
然后,我们将详细探讨Wince系统的特点,包括其稳定性、能效以及可扩展性等方面。
最后,我们将重点讲解车机退出Wince系统的方法,为读者提供实用的操作指南。
通过本文的阅读,读者将能够了解车机系统的基本概念和工作原理,深入了解Wince系统的特点,并学会车机退出Wince系统的方法。
本文旨在帮助读者更好地理解车机系统,并为对该领域有兴趣的人员提供参考和指导。
在接下来的章节中,我们将从不同的角度对车机退出Wince 系统的方法进行探讨,以便读者能够全面了解并灵活运用这些方法。
1.2文章结构文章结构部分的内容可以包括以下内容:1.2 文章结构:本篇文章主要分为引言、正文和结论三个部分。
在引言部分,我们将概述本文的主要内容和目的。
首先,介绍车机系统的背景和重要性,以及Wince系统在车机系统中的应用。
接下来,我们将明确本文的主要目的,即探讨车机退出Wince系统的方法。
在正文部分,我们将详细介绍车机系统和Wince系统的特点。
首先,我们将介绍车机系统的基本概念,包括其作用、应用场景以及功能要求。
然后,我们将重点讨论Wince系统在车机系统中的优势和特点,包括其稳定性、兼容性和可定制性等方面。
接下来,在正文的最后部分,我们将详细探讨车机退出Wince系统的方法。
我们将介绍多种可行的方法,包括手动退出和自动退出两种方式。
WindowsCE5.0与6.0的主要差别
Windows CE 5.0和Windo ws CE 6.0的内存与系统架构1.Windows CE 5.01.1 Windows CE 5.0的系统架构1.2 Windows CE 5.0的内存架构因为WINCE是32位的嵌入式操作系统,所以WINCE的虚拟寻址能力可达4GB(为什呢,2^32=4GB),但是WINCE5.0和XP操作系统的每个进程独享4GB虚拟地址空间不同,WINCE5.0中所有的进程共享一个4G B的虚拟地址空间。
这4GB 的虚拟地址空间被分为两个2GB的区域,其中低地址的那2GB区域(0x00000000 ~ 0x7FFFF FFF)是用户虚拟空间,这块虚拟空间由应用程序的共用,也就是说应用程序申请的内存都会从低2G B虚拟内存空间分配的;而高2GB区域(0x80000000 ~0xFFFFF FFF)是操作系统的内核虚拟空间,供WINCE操作系统本身使用。
我们知道WIN CE5.0的进程数量最多只能达到32个,而且每个进程只能独享32MB的虚拟空间(这个32MB的空间也叫一个sl ot),这33个进程(32+1,这个1就是指s l ot0,因为slot0用于映射当前在处理器上执行的线程所在的进程)占用的虚拟空间0x00000000~0x41FFFFFF(slot0~slot32),slot33~slot63对应的虚拟地址空间是0x42000000~0x7FFFFFFF,这块虚拟地址空间是由所有的进程共享的,如果每个进程独享的32MB虚拟地址空间不够用,那么进程可以在这个范围申请虚拟地址空间,这个范围包括对象存储和内存映射文件(.map文件,每个进程都有自己的map文件)。
此范围的最后一个slot(slot63)从0x7E000000~0x7FFFFFFF用来存放纯资源DLL。
WinCE图形系统、存储管理及文件系统
1.2GWES的主要功能
通过键盘、笔针动作接受用户输入。 将操作系统消息传送到应用程序。 创建并管理在显示设备上的窗口、图形 及文本的输出。
1.3GWES的组件
GWES的核心是窗口,所有应用程序都 须借助窗口来接受操作系统的消息。 GWES模块是Windows CE中最高度组件 化的部分,包括两个子集 USER:处理消息、事件、用户输入 GDI:负责图形输出
WinCE图形系统、存储管理及文件系统 图形系统、 图形系统 本节课程主要知识点 GWES图形系统 GWES图形系统 WinCE下的文件与注册表 WinCE下的文件与注册表 WinCE下注册表管理 WinCE下注册表管理 WinCE存储管理 WinCE存储管理
重点和难点
重点 文件系统的基本概念 注册表的存储方式 难点 对象存储 注册表操作函数与文件操作函数
例子:在Helloword中练习绘图函数
二、WinCE下的存储管理与文 下的存储管理与文 件系统
ቤተ መጻሕፍቲ ባይዱ
2.1 文件管理-书64页
文件管理的目的在于用户实现对文件的 存储和访问。 Windows CE由FileSys.exe 实现存储管理 和文件系统。
Filesys.exe文件
系统文件Filesys.exe实现了Windows CE 的存储管理和文件系统。 Windows CE系统启动后,Filesys.exe同 时启动,并占用Slot2。
一、GWES图形系统 图形系统
1.1GWES概述
GWES的全称为 Graphics Windowing and Event Subsystem,即图形窗口和事 件子系统。 GWES由 GWES.exe文件实现。 GWES是用户应用程序和操作系统之间 的图形用户接口。 GWES 是Win32 应用编程接口(API)、 用户界面 (UI)和图形设备接口 (GDI) 库的组合 。
wince开发-简单介绍
WinCE的主要特色 WinCE的主要特色
WindowsCE中的API是一个缩减了的WIN32API, WindowsCE中的API是一个缩减了的WIN32API, 是桌面系统WindowsAPI的一个子集。软件开发很 是桌面系统WindowsAPI的一个子集。软件开发很 方便。~PalmOS 方便。~PalmOS 软件开发具有挑战性的。在某些情况下,由于CE 软件开发具有挑战性的。在某些情况下,由于CE 的应用程序接口与标准Windows API之间存在差异, 的应用程序接口与标准Windows API之间存在差异, 原来在桌面Windows中包含的API函数在Windows 原来在桌面Windows中包含的API函数在Windows 中是不支持的,所以开发者需要自己利用 中是不支持的,所以开发者需要自己利用 其他办法来实现这些功能。 Windows 支持的内存容量和显示屏的面积也 支持的内存容量和显示屏的面积也 有限,这使得开发人员不得不考虑与硬件相关的 因素。 内核构成较大,在资源非常紧张的场合不如linux 内核构成较大,在资源非常紧张的场合不如linux 的定制灵活。
WinCE的应用 WinCE的应用
在移动领域,Pocket PC(PPC)和Smart 在移动领域,Pocket PC(PPC)和Smart Phone (SP)都是WinCE的专用版本,均于2003年推出。 SP)都是WinCE的专用版本,均于2003年推出。 这两个版本正逐步占据PDA, 这两个版本正逐步占据PDA,Smart Phone,PMP Phone, 等市场,优势已经很明显。 在工控领域,的确还不能与VxWorks的实时性相 在工控领域,的确还不能与VxWorks的实时性相 比较,但是本身的设计目标已经可以满 比较,但是本身的设计目标已经可以满 足95%的硬实时系统的要求了。 95%的硬实时系统的要求了。 信息家电领域,WinCE原有的Windows背景使得它 信息家电领域,WinCE原有的Windows背景使得它 在这一市场占据有力地位。
wince系统概述
•
Pocket Outlook® Object Model(POOM) API
•
Simple Object Access Protocol(SOAP,简单对象访问协议)工具包
•
Windows CE .NET 标准 SDK
•
.NET Compact Framework
3
1.2 系统功能
Microsoft® Windows® CE .NET 是 Windows CE 3.0 的后续产品,它不仅是一个功能强劲 的实时嵌入式操作系统,而且提供了众多强大工具,允许用户利用它快速开发出下一代 的智能化小体积连接设备。借助于完善的操作系统功能和开发工具,Windows CE .NET 为开发人员提供了构建、调试和部署基于 Windows 的定制设备所需的一切特性。 平台开发工具 Platform Builder 是一个完全集成的开发环境(IDE),并且包括一个软 件开发工具包(SDK)导出工具。Windows CE .NET 支持 Microsoft eMbedded Visual C++® 和 Microsoft Visual Studio® .NET,为面向 Microsoft .NET Compact Framework (Microsoft .NET Framework 的一个子集)的 Web 服务和应用程序开发提供了一个完整 的开发环境。利用这些工具,开发人员可以迅速开发出能够在最新硬件上运行各种应用 程序的智能化设计。
作为最新版本,Windows CE .NET 4.2 对 Windows CE 先前版本的强大功能进行了进一步 的扩充和丰富,它提供了:
对安全和可伸缩网络的支持
得到增强的实时处理能力
更为优秀的性能表现
Wince XPE等操作系统比较及RTX介绍
COM-Express Compact SOM-6763
Intel® Atom™ N270
COM-Ultra SOM-7562
Intel® Atom™ N450
3.5” SBC PCM-9361
Intel® Atom™ N270
3.5” SBC PCM-9362
Intel® Atom™ N450/D510
实时性 启动时间
10秒 30秒 (需研华BIOS支持) (需研华BIOS支持) 有丰富的图形界面 有很好网络支持功能 多任务多线程 64M Memory, 300M HDD 有丰富的图形界面 有很好网络支持功能 多任务多线程 256 M Memory;800M HDD
功能支持
网络功能支持不好 单任务单线程
不同的操作系统,其性能和特点也各有差异。 选择合适的操作系统,可以大大提高你数控整机的可靠性 、稳定性。
不同Windows操作系统的比较
DOS 可直接断电关机 稳定 与 可靠性 Win CE 可直接断电关机 XPE 可直接断电关机。 XP-Pro 不可直接断电关机;如 多次直接断电关机,操 作系统就容易被损坏。
快速启动解决方案
研华可以协助你减少70%的开机启动时间
快速启动的解决方案
System Boot Process
System Power On
开机启动时间
– –
一般情况下 优化后:
1~3 分钟 3~30 秒
Boot up
BIOS
我们通过优化开机启动的各个环 节来缩短开机时间:
– –
OS
– –Байду номын сангаас–
Linux + RTai
1_WinCE定制流程、目录结构及系统构建
Dirs文件和Sources文件
DIRS文件是位于需要编译的文件夹中的一个特 殊的文本文件,它指出了要编译的源程序所在的 文件夹名 SOURCES文件是位于源程序文件夹中的一个特 殊的文本文件,它包含了一些宏定义,编译程序 就是利用这些宏定义作为选项来决定如何编译和 链接这些源程序的
WinCE 详细的目录结构
1.2得到并安装BSP (1)
得到BSP的途径:
Platform Builder自带(CEPC、Emulator、AMD geo提供(ut2410classic) 自主研发(后续课程详细阐述)
安装BSP方法
(1)源码形式->手工安装
平台配置、编译方法)
平台向导:学会定制模拟器、配置模拟器、下载运
行、远程文件同步、IP地址配置方法。
SDK向导:定义、配置、编译、安装。 平台改造:删除、添加组件,重新build SDK,远
程文件同步
一、定制WinCE操作系统的一般流程
1.1概述
定制WinCE一般需要经过: 创建 构建 运行调试 发布
该命令也会编译包含于系统设计工作区 (Workspace)的工程(Project)
没有任何文件拷贝到目标(Release)文 件夹。
3.6 Build阶段
Build阶段将编译和链接图形、窗口和事 件子系统(GWES)、内核、OEM适配 层(OAL)、设备驱动及应用程序等。
该阶段使用了一组特殊的文件DIRS和 SOURCES文件,这些文件确定了Build过 程需要编译和链接什么文件。
耗内存
下载到目标板上调试运行 得到并安装Bootloader ,eboot 配置串口,建立超级终端 配置eboot网络相关参数 配置PB中的target->conectivity options… Target->attach device…
WINCE操作系统---内核(kernel)学习
WINCE6.0操作系统---内核(kernel)学习备注:这里的内核指kernel,其表现形式为kernel.dll,OS指操作系统,core指核心。
图1 WINCE6.0体系结构1.kernel的组成和功能WINCE6.0操作系统内(kernel)在代码中的表现形式是kernel.dll(也就是kern.dll),WINCE5.0中内核的表现形式为NK.exe,而WINCE6.0中的NK.exe中仅仅包含一些OAL代码和保持兼容性的程序了。
内核提供任何WINCE6.0设备的基本OS功能,这些基本功能包括进程、线程和内存管理,另外内核也提供一些文件管理功能、线程调度、实时性能、装载器(loader)、系统调用、电源管理和OS提供的多种多样的服务。
内核服务(service)使应用程序可以使用这些核心(core)功能。
NK.exe是OAL层的进程,在OAL层启动的过程中加载kernel.dll。
使用内核进程和线程函数可以创建、终止、同步进程和线程,并且可以调度和挂起线程。
进程是正在运行的程序(比如iexplore.exe)的单个实例,这样使得同时可以运行多个程序,对于WINCE5.0来说能够同时运行的进程是32个,假如我们同时打开多个Internet Explorer浏览器(对应一个iexplore.exe),那这时内存中就相应有多个浏览器的进程,所以WINCE5.0操作系统如果要应用在网络系统,尤其是同时运行多进程的系统中并不是很好的选择。
WINCE6.0支持同时运行的进程数达到32000个,就基本不存在这方面应用的限制。
线程使得程序一次可以执行多个任务,因为一个程序可以创建多个线程。
线程优先等级、优先级继承、中断支持、和计时(timing)与调用也都是内核包含的功能。
内核的所有功能共同为对时间要求很严格的系提供实时应用。
WINCE内核基于页式虚拟内存系统(virtual-memory system)来管理和分配应用内存,虚拟内存系统提供连续的大小为64KB内存块,每块的大小为4KB,所以应用程序不需要管理内存的分配。
WINCE构建系统
WINCE的构建系统WINCE构建系统(build system)负责根据用户选择特性,为目标设备构建WINCE运行时映像。
WINCE的构建过程分为4个步骤,依次为Sysgen,Build,Release Copy和Make Image。
1.sysgen过程Sysgen(system generation)过程是根据用户选择的组件生成特定的头文件及可执行文件供最终的WINCE运行时映像打包时使用。
Sysgen的输入包括一系列从public和private目录下编译后的lib文件(通常在安装PB时安装在电脑上)、未经筛选的头文件与主控文件(CeSysgen.bat),而sysgen的输出包括经过筛选的头文件与用户选择组件包含的可执行文件.exe和动态链接库.dll。
其中sysgen过程产生的头文件会被打包到导出的SDK中,而产生的可执行文件和动态链接库文件会被打包到WINCE运行时映像中。
在整个sysgen的过程中,所有操作都是安装用户事先设置的环境变量进行的,因此,只有用户选择的组件最终被处理和输出,才能达到操作系统定制的目的。
2.build过程当整个系统都已经生成完毕后,接着就可以编译项目内部的源代码了。
BSP 的源代码和PB中新建的应用程序都在这一步被编译。
其中BSP的源代码如果以前曾经编译过并且没有改动,构建系统会跳过BSP的编译;PB中建立的应用程序由于依赖于操作系统平台所选择的组件,因此只有在sysgen过程结束后才能进行编译。
源代码的编译是通过build.exe使用SOURCES文件和DIRS文件编译源代码的,build.exe通过DIRS文件来查找要递归编译哪些子目录,DIRS目录是当前目录的子目录列表,告诉build.exe当前目录下有哪些子目录需要进行递归编译,比如下图的SRC就是当前目录,其子目录有bootloader、common、drivers、inc和kernel。
当前目录SRC下的dirs文件如下图所示其中“DIRS=”语句包含当前目录下希望用build.exe进行递归编译的子目录列表,“\”是续行符,表示在处理的时候忽略后面的回车换行。
WinCE 与 Android操作系统对比
基于WinCE系统的工业手持机,对GIS功能支持很弱。另外由于WinCE的耗电问题无法
很好地解决,长时间开启GPS的情况下,3-4个小时电量就耗尽,远远达不到企业810小时的工作时间要求。而在我们基于Android系统的手持终端上,GPS长期开启的 情况下,待机时间可达到16小时。
4
Page 14
Windows Phone 7.0
Windows Phone 7.5 Windows Phone 8.0
发布于2010年10月
发布于2011年9月 发布于2012年6月 基于NT内核,与CE属于完全不同的平台
Page 4
WinCE系统发展历程
Page 5
Android操作系统发展历程
时间 2003年10月 2005年8月
Page 3
4
WinCE系统发展历程
版 本
发布时间
Windows CE 1.0 Windows CE 2.0 Windows CE 3.0 Windows CE 4.0 Windows CE 5.0 Windows CE 6.0
发布于1996年11月[MSCE1] 发布于1997年9月[MSCE2] 发布于2000年6月[MSCE3] 发布于2002年1月 发布于2004年8月 发布于2006年9月
版本发布时间 Andy Rubin等人创建Android公司,并组建Android团队 Google收购Android公司
2008年9月
2009年4月 2009年9月 2010年5月 2010年12月 2011年9月
Google发布Android1.0操作系统
Google发布Android1.5操作系统 Google发布Android1.6操作系统 Google发布Android2.2操作系统 Google发布Android2.3操作系统 Google发布Android4.0操作系统
第6章.第3节 WindowsCE操作系统开发
先 看一个 平台的创建流程
Platform Setting
使你可以浏览和修改关于整个平台的每个属性的选项 菜单: Platform -> Settings…
Build Options (1)
Enable CE Target Control Support
选择该选项可以在启动时使能目标控制功能(target control support). 选择这一项同时也打开了内核无关传输层(Kernel Independent Transport Layer — KITL). 选择该选项可以在Config.bib文件中预留内存空间,允许在启动过 程中操作系统可以读取boot loader存储的数据. 选择该选项可以开启事件跟踪子系统(event-tracking subsystem). 选择该选项可使线程运行在内核模式,选择该模式会使系统较脆弱, 但是性能会有所提高. 选择该选项可以使编译好的镜像下载后被烧写的到Flash中
允许调试器建立宿主机和目标机间的链接和传送调试信息 要建立宿主机和目标机间的通讯就必须选择该选项,取消该项也 会同时取消被选定的“Enable CE Target Control Support ”选 项 选择该选项可以将Windows CE的有关内核的信息以日志的形式 装入平台镜像中 这是一个有条件编译的标志,设置它表示OS会提供详细的调试信 息来帮助调试. 选择该选项将事件放入release目录,同时开启事件跟踪
PB能做什么?(2)
Windows CE测试套件(Test Kit)提供了整套驱动 测试工具 内核调试器可以调试定制的OS镜像,同时提供给 用户镜像运行状况的信息 应用调试器可以调试在特定OS上运行的应用程序 远程工具可以调试基于Windows CE的目标机上 运行任务,并获取相关信息 模拟器通过模拟硬件可以加快和简化开发过程, 使用户可以在宿主机上完成平台和应用程序的初 步开发 SDK导出向导可以为用户导出一个特定的软件支 持包(software development kit — SDK).
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Wince操作系统开放分类:操作系统Microsoft Windows CE快速反应的嵌入式应用常常管理严格的时间反应。
例如,制造过程控制,高速的数据采集设备,电讯交换设备,医用设备,空中“有线”控制,武器发射装备,空间航行和导航,实验室,实验控制,汽车发动机控制,机器人系统。
为保证这种功能,就意味着不仅需要计算精确性,还有结果的时间性,此种应用必须在指定的时间参数内做出反应。
实时系统的广义定义是“对任何外部刺激,计算机做出及时反应是至关重要的系统”,标准定义在Internet newsgroup corp realtime group中。
实时定义为:一个实时系统它的计算正确性,不仅依靠于计算逻辑上的正确,还包括及时的产生结果。
如果没有达到系统时间限制条件,系统也是失效的。
搞清楚实时系统和实时操作系统(RTOS)的区别至关重要,实时系统代表所有系统组成设备——硬件,操作系统和应用——它需要达到系统的要求,实时操作系统(RTOS)只是整个实时系统的一个组成部分,它必须提供足够的功能以确保整个实时系统达到要求。
同样,搞清快速操作系统和实时操作系统之间区别,也很重要,对于一个RTOS虽然达到全面要求十分有用,但并不是它自己达到这种要求。
Internet neusgronp cornp.realtime列举了作为一个实时操作系统,必须达到的要求:* OS(操作系统)必须是多线程和优先级之分。
* OS必须支持线程优先级。
* 一个优先级继承的系统必须存在。
* OS必须支持可预测的线程,同步发送机理。
另外,OS的行为必须是可预测的,这意味实时系统的开发者必须对系统中断级,系统调用和分时了如指掌:* 必须知道OS和设备驱动器的中数据匹配最大时间。
* 设备驱动器用来处理一个中断最大时间和关于这些驱动器的中断申请信息必须清楚。
* 中断响应(从中断到运行时间),必须可预测并满足功能要求。
每次系统调用时间必须可以预测,并且独立于系统的对象数目。
本篇论文论述了微软Windows CE 操作系统是如何达到一个实时系统的要求,更有意义的是,Windows CE 保证一个时间的上限,它在收到中断后开始一个实时的优先级线程。
本论文论述了对特定参考平台的中数据响应时间,参考为有Hinathi SH3 的微处理器的“Odo”平台。
Microsoft Windows CE概论微软Windows CE 被设计成针对小型设备(它是典型的拥有有限内存的无磁盘系统)的通用操作系统。
Windows CE 可以通过设计一层位于内核和硬件之间代码来用设定硬件平台,这即是众所周知的硬盘压缩层(HAL),(在以前解释时,这被称为OEMC (原始设备制造)适应层,即OAL;内核压缩层,即KAL。
以免与微软的Windows NT 操作系统HAL 混淆)不象其它的微软Windows 操作系统,Windows CE 并不是代表一个标准的相同的对所有平台适用的软件。
为了足够灵活以达到适应广泛产品需求, Windows CE 采用标准模式,这就意味着,它能够由一系列软件模式做出选择,从而使产品定制。
另外,一些可利用模式也可作为其组成部分,这意味着这些模式能够通过从一套可利用的组份做出选择,从而成为标准模式,通过选择,能够达到系统要求的最小模式,OEM 能够减少存储脚本和操作系统的运行。
Windows CE 关于VC++ 5.0 开发系统嵌入式工具包,提供系统库、工具、文本和样本代码,以使OEMS 能够对特定的硬件平台使Windows CE 标准定制。
嵌入式工具包也包括设备驱动包(DDK)和软件开发包(SDK) ,DDK 提供了关于写驱动器的附加文本,SDK 提供库、头文件、样本代码、文本以允许,开发者对基于Windows CE 的平台进行写操作。
Windows CE 提供了相同的程序界面,以用来为其它的视窗操作系统开发功能,例如,Windows CE 版本1.01支持大约1000个微软的Win 32 API 函数的其中500个。
这就意味着大量不同类的工具,第三方书籍,关于Win 32 开发者训练教程,可以替代或为Windows CE 系统的开发者所用。
实时系统的开发者能够使用,关于VDFF 5.0 的嵌入式工具包,以把操作系统转移到特定的平台,并为这个平台开发附加设备驱动器和实时功能。
线程和线程优先权级Windows CE 是有优先级的多任务操作系统,它允许多重功能、进程,在相同时间系统中运行Windows CE 支持最大的32 位同步进程。
一个进程包括一个或多个线程,每个线程代表进程的一个独立部分,一个线程被指定为进程的基本线程,进程也能创造一个未定数目的额外线程,额外线程实际数目,仅由可利用的系统资源限定。
Windows CE 利用基于优先级的时间片演算法以安排线程的执行,Windows CE 支持八个不同的优先级,由0到7,0代表最高级,它在头文件Winbasw.h中定义。
优先级描述(最高级) 关键的线程优先级(最高优先等级)1 最高线程优先级2 高于通常的线程优先级3 通常线程优先级4 低于常规线程优先级5 最低线程优先级6 高于IDLE的线程优先级7(最低) IDLE线程优先级(最低优先级)级别0和1通常做为实时过程和设备驱动器,级别2-4做为线程和通常功能,级别5-7做为是低于其它功能级别,注意级别6是目前状态并有稳定联接。
优先权唯一的取决于线程优先级,拥有高级优先权的线程安排优先运行,同一优先级的线程,以循环优先先级方式运行,即每个线程接受定制的时间或时间片,定量时间默认值为25毫秒(Windows CE 2.0 支持在MIPS 平台更改定量时间)。
较低优先权的线程,要直到较高级线程完成之后再运行,也即直到他们或者放弃或停止。
一个重要的例外是最高优先级的线程(级别0,关键时间优先级)不与其它的线程共享时间片,这些线程连续执行直到他们完成。
不象其它的微软窗操作系统,Windows CE 是固定不能改变,它不匹配基于这引进优先级的中断,他们能够暂时改动,但仅能通过Windows CE 内核以避免所谓的的“优先权倒置”。
优先权倒置指的是当它们同时竞争同一资源时,低优先级的线程,阻碍了高优先权线程对资源的利用。
为了改正这种局面并解放较高优先权的线程,Windows CE 允许低级优先权继承,严格的线程优先权,并且运行较高优先级直到它释放所用资源。
例如,如果一个线程在最高优先权运行试图莸取由低级优先权占有的互斥体,低级优先权的线程变成高级优先权,并且运行直到它释放互斥体。
优先权倒置适用于系统的所有线程。
例如,甚至在优先级别1运行的内核线程能转成级别0,如果优先级0线程运行内存分页代码,将引起块失误。
基于优先级的多任务设计,保证运行在最低级的线程在一个预所知时间段执行。
本论文在后面讨论设定响应,对于指定的平台和公式,并由其它的平台获取数字。
在DAK 和SDK 的工具,显示了线程状态和优先级别,并描绘指定实时系统操作轮廓。
线程同步实时系统必须保证进程和线程同步,例如,如果实时应用的一部分在另一部分获得最多当前数据前即完成,此应用的管理进程可能不稳定,同步将确保在应用线程间交换正确。
如同其它的Windows 操作系统一样,Windows CE 为线程同步提供了一个丰富的“等待对象”,这包括关键部门、事件、互斥体,些等待对象,允许一个线程减缓它的运行并且等待直到指定事件发生。
Windows CE 将互斥体、关键部分、事件请求按“先入先出,优先级(FIFO)”顺序排列:不同的先入先出顺序序列定义成八个不同的优先级,在给定的优称级的线程请求,将被放在优先级列表末尾,当优先级倒置出现时,调度程序调整这些序列。
除了等待对象,Windows CE 支持标准的Win 32 时间API 函数,这些来自内核的应用,软件中断将获得时间间隔,它被用来管理实时应用。
通过调用GetTickCont 函数,它能够返回几毫秒,线程能够使用系统间隔时间。
关于更详细的分时信息,Windows CE 内核也支持Win 32 API 函数QueryPerformanreCounter 和QueryPerFormanteFrequency 。
OEM 必须为这些调用提供硬件和软件支持,它提供一个较高的时间分辨力和OAL 界面其它方面。
其它方面考虑Windows CE 提供了一个重要的存储系统,例如,当目前某些运行Windows CE 的平台提供4MB 的物理内存,Windows CE 支持一个重要的2GB 的地址空间,每个进程联接在它自己的32MB 物理空间上,当它需要产生内存分页中断(这可能影响线程执行时间),物理内存进行线程代码或数据内存分页。
内存分页输入输出,将比实时进程优先级低。
在实时进程中内存分页仍可自由出现,但这要确保后台的实际内存管理赢得实时系统优先权。
实时线程应该锁存在内存中,以防止这些无关紧要的内存分页阻碍其运行,它们可能会占用实际内存管理系统。
Windows CE 允许映射,这将阴止多个进程共享同一物理内存,结果将会导致协同进程间或驱动器与映射快速的数据传送,内存映射能够戏剧性的增强实时操作。
中断处理:IRQS ISRS 和ISTS实时应用被设立在指定的时间间隔内,对外部事件做出反应,实时应用使用中断做为一种确保外部事件由操作系统获知的方式。
在Windows 中,内核和OEM 适应层(OAL)被设定成使系统其它部分的中断和调度最优化。
Windows CE 平衡操作,并通过把中断过程分成两部分而使执行更加容易:它分为中断服务程序(ISR)和中断服务线程(IST)两部分。
每条硬件中断申请线(IRQ),与一个ISR相连。
当中断成立和中断出现时,内核为此调用寄存的ISR,ISR 为中断处理的内核模式部分尽可能短的保存。
它首先将内核放在适合的IST 上。
ISR 执行它的最小处理并返回一个ID 号到内核,内核检查返回的中断ID 号,并设置相关事件,中断服务线程等待事件。
当内核设置事件时,IST 停止等待并开始执行,附加的中断进程,中断处理大部分实际上出现在IST 中,两个最高的线程优先权(级别0和1),通常指定为ISTS,保证这些线程运行得足够快。
正如前面所说,处在最高级的ISTS 不能被其它的线程占用,这些线程持续执行直到它们截止或放弃。
Windows CE 不能支持群体中断,这就意味着当以前一个中断处理中,另一个不同接受服务,也就是当内核位于ISR 时如果中断出现,在为新的IRQ 开始ISR 前它将一直执行直到ISR 结束,这将引起硬件中断和ISR 开始之间的延迟,拖延和响应时间中断响应。
中断响应本论文中,Intervupt Latency 词组主要指的是较件中断,处理响应,也即是从处部中断到达处理器到中断开始处理间的时间。