Windows CE指南

上传人:n**** 文档编号:56692229 上传时间:2018-10-15 格式:PPT 页数:218 大小:2.40MB
返回 下载 相关 举报
Windows CE指南_第1页
第1页 / 共218页
Windows CE指南_第2页
第2页 / 共218页
Windows CE指南_第3页
第3页 / 共218页
Windows CE指南_第4页
第4页 / 共218页
Windows CE指南_第5页
第5页 / 共218页
点击查看更多>>
资源描述

《Windows CE指南》由会员分享,可在线阅读,更多相关《Windows CE指南(218页珍藏版)》请在金锄头文库上搜索。

1、Windows CE指南,Windows CE简介,Windows CE 特性 与桌面版OS比较 与其他嵌入式OS比较,WinCE能做什么:手机,WinCE能做什么: PDA,便携式多媒体设备,WinCE能作什么: 汽车电子,BMW Citron Clarion Co. Ltd. DaimlerChrysler Fiat Subaru Honda Hyundai Mitsubishi Toyota,工业控制 机顶盒 医疗设备 银行ATM系统 放映机和大屏幕显示器 VoIP 设备 ,Windows CE 发展历史,1996年发布WindowsCE 1.0Windows CE .NET 4.x 被

2、广泛应用最新版 Windows CE 6.07.0,Windows CE 特点,与桌面版本比较:硬件平台,桌面版 Windows Only runs on x86 architecture,Windows CE ARM / Xscale MIPS PowerPC Sparc x86,Windows CE 特性,Windows CE支持在多种不同的CPU硬件平台上运行,与桌面版本比较: 镜像大小,桌面 Windows Windows 3.x : 2-5MB Windows 98 : 400MB Windows XP : 1.5GB 越来越大Win7、Win8 不能定制,Windows CE 最小

3、 : 200KB 网络部分大约 800KB GWES, Shell and Apps 大约 4MB Internet Explorer 大约 3MB,Windows CE 特性,组件化200多个可选组件快速方便地针对特定应用系统定制OS,与桌面版比较: 实时性,桌面 Windows 不具有实时性,Windows CE 线程优先级256 级 中断嵌套 每个线程都有独立的时钟嘀嗒 处理优先级反转,Windows CE 特性:,Windows CE 支持实时性,与桌面版比较: 电源管理,桌面 Windows 电源管理实现差,Windows CE 电池供电 / AC 供电各设备的电源使用状况关闭不必要

4、的设备,Windows CE 特性:,Windows CE提供电源管理器,用来管理设备供电系统,增加电能的使用效率Windows CE能够减少设备的能量损耗,在系统复位、开启、休眠和挂起状态,维持和保护RAM上的文件系统,与桌面版比较: 编程接口,桌面Windows ASCII / UNICODE 丰富的 API 强有力的硬件平台,Windows CE 只支持UNICODE 部分Win32 API, MFC等 有限的硬件资源,Windows CE特性:,Windows CE 只支持 UNICODE CHAR - TCHAR / WCHAR strlen - wcslen部分API功能受限运行W

5、indows CE 的系统通常资源受限,与桌面版比较: 共享源代码,桌面 Windows 商业软件,源代码是微软的一级机密,Windows CE 开放CE 6.0的核心源代码用户可以对它进行修改,Windows CE 特性:,源代码共享用户可以在 “%_WINCEROOT%private” 文件夹中找到公开的源代码,与其它嵌入式 OS比较: 多媒体支持,其它嵌入式OS: 对音视频支持有限 没有商业的网站浏览器,Windows CE 友好的用户界面 Windows Media Player 9, 支持mp3, wav, avi, wmv Internet Explorer 6 & Pocket

6、IE,Windows CE 特性:,友好的用户界面 强大的多媒体支持 与桌面版 windows相兼容 Pocket Word, Excel, PowerPoint, adobe reader Pocket MSN messenger Pocket IE, Windows Media Player SQL Server CE edition ACD See ,与其它的嵌入式OS比较:编程接口,Other EOS: 不同的编程接口 常用的 C/C+ & j2me,Windows CE Win32 API MFC, ATL, STL COM, ActiveX .NET Compact Framewo

7、rk Java VM EVB, EVC,Windows CE 特性:,对于Windows程序员来说容易上手支持多种编程语言,与其它的嵌入式OS比较: 镜像大小和实时性,其它嵌入式OS: RTLinux, C/OS-II 支持硬实时 Vxworks最小 : 8k C/OS-II最小 : 2k,Windows CE 非硬实时系统 对于一些特殊的应用镜像可能过大,Windows CE 优点:,丰富的可选组件和功能 定制方便 易使用 与桌面版windows编程接口类似 具有丰富的微软及第三方应用支持,Windows CE 系统结构和功能,Windows CE 的结构概述,系统架构 NK.EXE FIL

8、ESYS.EXE DEVICE.EXE GWES.EXE SERVICES.EXE Thread Migration,微内核,微内核是一个小型的操作系统核心,它为模块化扩展提供基础。 微内核的基本原理:只有最基本的操作系统功能才能放在内核中。不是最基本的服务和应用程序在微内核之上构造,并在用户模式下执行。,微内核,单体内核操作系统(UNIX),微内核结构(Windows CE),微内核结构用一个水平分层的结构代替了传统的纵向分层的结构。在微内核外部的操作系统部件被当作服务器进程实现,它们可以借助通过微内核传递信息来实现相互之间的交互。,Windows CE系统架构,Windows CE属于比较

9、典型的微内核操作系统。 在内核中仅仅实现进程、线程、调度及内存管理等最基本的模块,而把图形系统、文件系统及设备驱动程序等等都作为单独的用户进程来实现。,Windows CE 系统架构,NK.EXE,NK.LIB + OAL.LIB = NK.EXE 微软提供了预先编译的 NK.LIB 库文件,它的代码与CPU指令体系结构相关而与具体的外设无关。 OAL.LIB是OEM层中的OAL代码编译后的输出。 提供: 处理器调度内存管理 进程创建加载 系统内的通信机制 中断处理 为其他部分提供核心调用例程,GWES.EXE,图形窗口事件系统(GWES) 管理所有的图形界面处理以及用户输入 桌面的 USER

10、32 + GDI32 作为一个单独的进程,DEVICE.EXE,设备管理器 负责加载、卸载和管理所有不被GWES.EXE管理的驱动程序。 大多数功能都放在了devmgr.dll中。 提供所有的与驱动相关的函数实现 在启动的时候通过注册表加载驱动程序,Services.EXE,所有服务的宿主进程 与Device.exe分开,负责加载系统服务的进程(FTP, TELNET, HTTP) 用户可以添加服务 提供API管理服务,FILESYS.EXE,文件系统和所有与文件相关的API都是通过FileSys.exe进程来管理的。 有三个组件: 对象存储 存储管理器 ROM 文件系统,进程和线程与调度,进

11、程 线程 调度,进程概述,进程(process)定义:是一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。它是系统进行资源分配和调度的一个独立单位。 进程通常由三部分组成:程序、数据集合、进程控制块PCB(Process Control Block) 进程特点: 动态性 独立性 并发行 结构化,进程概述,进程与程序的联系:程序是构成进程的组成部分之一。一个进程的运行目标是执行它对应的程序。 进程与程序的区别: 程序是静态的,进程是动态的。 进程有创建、执行及撤销而消亡的生命周期,程序只是一个文件,存在于某种介质上。 一个程序可对应多个进程,但是一个进程只能对应一个程序。,Windo

12、ws CE进程,Windows CE(5.0)最多只支持32个进程同时运行。每个进程占据32MB的虚拟地址空间,也被称为一个Slot。 在系统启动的时候,默认会启动四个进程,NK.EXE, FILESYS.EXE, GWES.EXE及DEVICE.EXE。,Windows CE进程,Windows CE的进程也不支持环境变量(Environment Variable)和当前目录。 如果没有明确指明可执行文件的路径,那么Windows CE会按照如下的顺序搜索: 首先查找“Windows”目录 查找根目录(“”) OEM所指定的搜索目录(“HKEY_LOCAL_MACHINELoaderSyst

13、emPath”) 例如:如果MyApp.exe的同一目录中存在MyFile.txt,那么下面的代码都是不正确的。_wfopen(L”%WINDOWS%MyFile.txt, L”w”);_wfopen(L”MyFile.txt”,L”w”);,Windows CE进程,一种解决方案TCHAR szBufMAX_PATH;DWORD dwPathLen;/得到当前程序可执行文件的完整路径dwPathLen = GetModuleFileName(NULL,szBuf,MAX_PATH);if(!dwPathLen) return -1; /除去文件名while(szBuf-dwPathLen!=

14、);szBufdwPathLen+1=NULL;/拼接文件_tcscat(szBuf,TEXT(“MyFile.txt”);/如果当前文件位于/Temp,则此时szBuf的内容为”/Temp/MyFile.txt”,Windows CE进程,创建进程的API如下:BOOL CreateProcess (LPCWSTR lpApplicationName, /可执行文件的路径和名字,不能为NULLLPWSTR lpCommandLine, /传递启动参数(必须为Unicode字符串)LPSECURITY_ATTRIBUTES lpProcessAttributes, /不支持,设置为NULLLP

15、SECURITY_ATTRIBUTES lpThreadAttributes, /不支持,设置为NULLBOOL bInheritHandles, /不支持,设置为FALSEDWORD dwCreationFlags, /进程加载后的初始状态PVOID lpEnvironment, /不支持,设置为NULLLPCWSTR lpCurrentDirectory, /不支持,设置为NULLLPSTARTUPINFOW lpStartupInfo, /不支持,设置为NULLLPPROCESS_INFORMATION lpProcessInformation, /返回的进程相关的信息 ); /整个函数返回值为BOOL型,当成功创建进程后,返回值为真(TRUE) ,否则返回假(FALSE).,Windows CE进程,终止进程 最好是由WinMain()或者其他主函数返回 调用ExitThread()函数使进程的主线程退出从而终止进程 直接调用ExitProcess()函数 在当前进程终止另一个进程可以使用TerminateProcess(),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号