Windows CE 6.0入门详解(环境搭建系统开发起步)
- 格式:doc
- 大小:1.23 MB
- 文档页数:23
PC上模拟运行WinCE1实验目的✧ 熟悉Windows CE 6.0的开发环境✧ 掌握新建Windows CE 6.0平台的方法✧ 了解模拟器的工作原理及用途2实验设备1) 硬件:✧ PC机一台2) 软件:✧ Visual Studio 2005✧ Windows CE 6.03实验原理模拟器(Emulator)是Windows CE开发一直以来被广大开发人员所使用的一个软件工具,它是在X86架构的开发机上模拟X86或者ARM的处理器。
开发人员可以利用这个工具来测试编译生产的映像或者应用程序,虽然模拟器和真实设备还有一定的区别,有时候会出现在模拟器上运行很好的程序,在真实设备上却不能运行或者运行出错的情况,但是可以肯定的是,模拟器可以为开发人员节约很多时间。
在安装了Windows CE 6.0之后会默认安装好Emulator 的BSP包,可以直接使用而不用额外安装。
另外也可以从微软官方网站下载最新的Emulator BSP安装包更新。
这里使用默认的Emulator BSP。
4 实验内容1) 新建Emulator工程并编译2) 导出SDK3) 安装SDK并尝试使用模拟器5 实验步骤5.1新建Emulator工程并编译1.打开VS2005新建一个Platform Builder for CE 6.0项目,项目名称为“Emulator502”(自己命名),如下图所示:2.点击“确定”按钮后出来定制向导欢迎界面,通过界面提示,可以了解到向导将会引导用户通过三个步骤内容完成一个基本的操作系统(以下简称OS)定制过程。
点击“下一步”进入下个向导。
3.在这个向导中我们需要为设计的OS选择一个Board Support Packages(以下简称BSP),BSP 的作用在以后实验中会提到。
本实验需要定制的是一个模拟器的OS,所以做如下选择,选择“Device Emulator:ARMV4I”,然后点击“下一步”。
实验二建立WinCE 6.0平台并导出SDK2.1 实验目的1.熟悉利用VS 2005和Platform Builder 6.0创建工程及配置WinCE组件。
2.熟悉利用VS 2005和Platform Builder 6.0导出SDK。
2.2 实验内容1.学会使用VS 2005和Platform Builder 6.0定制内核,并对其进行编译。
2.导出并安装SDK。
2.3 实验设备1、装WINDOWS系统的PC机,VS 2005和Platform Builder 6.0集成开发环境2、OURS-PXA270-RP实验箱2.4实验步骤0.解决180天试用期问题,删除日期计算文件,在Platform Builider安装目录下有个Etkremov.inf(在“C:\Program Files\Microsoft Platform Builder\6.00”路径下),试用期是以此文件的创建日期来计算的。
将其删除,然后新建一个文件,再重命名为Etkremov.inf,不要直接新建这个文件,否则由于filesystem tunnel,会导致新建的文件总是沿用老文件的创建时间。
1. 创建一个新的WinCE 6.0工程(1)在创建WinCE工程前,需要添加CORTEX-A8RP实验箱的BSP包(在光盘“\A8_RP-CE6.0 \BSP”路径下)。
将A8_RP的BSP文件解压后拷贝到Windows Embedded CE 6.0所安装路径下(默认在“C:\WINCE600\PLATFORM”),如图2-1所示:图2-1(2)BSP添加完成后,打开Visual Studio 2005软件,如图2-2所示:图2-2(3)点击“File”-“new”-“project”,选择“Platform Builder for CE 6.0”,设置项目“名称”为“A8_RP_OSDesign”,如图2-3、2-4所示:图2-3图2-4图2-5(4)选择BSP为“A8_RP:ARMV4I”,如图2-6示:图2-6 选择“PDA Device”,如图2-7;图2-7 (5)选择“Mobile Handheld”,如图2-8示:图2-8(6)设置“Applications _Media”,如图2-9示:图2-9(7)设置“Networking _Communications”,如图2-10所示。
实验- Windows CE平台的构建与配置【实验目的】1、掌握Windows CE内核的配置、编译方法;2、掌握构建一个适合特定开发平台的Windows CE系统方法;3、熟悉Platform Builder开发工具使用方法。
【实验仪器】1、装有Platform Builder开发环境的PC机一台2、XSBase270实验开发平台一套【实验原理】1、Windows CE操作系统简介Microsoft Windows CE 是一个开放的、可裁剪的、32位的实时嵌入式窗口操作系统。
和其他桌面窗口操作系统(Windows XP/2000)相比,它具有可靠性好、实时性高、内核体积小等特点,适用于各种嵌入系统和产品。
它拥有多线程、多任务、确定性的实时、完全抢先式优先级的操作系统环境,专门面向只有有限资源的嵌入式硬件系统。
同时,开发人员可以根据特定硬件系统对Windows CE操作系统进行裁剪、定制,所以目前Windows CE被广泛用于各种嵌入式智能设备的开发,是当今应用最多、增长最快的嵌入式操作系统。
Windows CE被设计成为一种高度模块化的操作系统,每一模块都提供特定的功能,这些模块中的一部分被划分成组件,系统设计者可以根据设备的性质只选择那些必要的模块或模块中的组件包含进操作系统映像,从而使Windows CE 变得非常紧凑(只占不到200 KB 的RAM),因此只占用了运行设备所需的最小的ROM、RAM 以及其它硬件资源。
Windows CE被分成不同的模块,其中最主要的模块有内核模块(Kernel)、对象存储模块、图形窗口事件子系统(GWES)模块以及通信(Communication)模块。
另外Windows CE 还包含一些附加的可选择模块,这些模块可支持的任务有管理可安装设备驱动程序、支持COM 等。
一个最小的Windows CE系统至少由内核和文件系统模块组成。
1.1 内核模块内核模块是Windows CE操作系统的核心,它为任何基于Windows CE的设备提供处理器调度、内存管理、异常处理以及系统内通信等系统功能,并为应用程序使用这些核心功能提供内核服务。
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的安装页里选择。
A4WinCE6.0与Arm11安装及配置深圳世平(WPI-SZ)应用技术处(ATU)GPS Team制作日期:2009目录序准备软件包......................................................................................................................................................110.1Visual.Studio.2005.. (1)0.2WinCE6.0 (2)0.3Arm11_Compiler (2)1安装Visual Studio 2005(VS)(VS) (3)31.1安装VS 2005 (3)2安装WinCE6.0(CE6)(CE6) (4)42.1安装WinCE 6.0 (4)2.2安装PB 6.0SP1 (5)2.3安装PB 6.0R2 (6)2.4安装PB 6.0Update.................................................................................73Arm11_Compiler 安装.. (9)93.1安装虚拟光驱 (9)3.2安装ARM11编译器 (9)4总结 (11)序准备软件包A4基本软件:NBOOT,EBOOT,OSImage生成,需要如下编译器,其软件安装包原路径:E:\Sirf_A4_ATU,其中文件如图1.1图1.1软件包原路径此软件包主要分3大部分:(1)开发平台VS2005(简称:VS),WinCE6.0的母体;(2)开发平台WinCE6.0(简称:CE6),EBOOT,OSImage的编译器;(3)开发平台Arm11编译器(简称:Arm),NBOOT的编译器。
注意:WinCE6.0是在微软官方网站下载试用版6个月,如要下载全部或部分安装文件,请参考“Windows Embedded CE6.0Local Data DownLoad Guid.pdf”。
Windows CE 6.0 启动过程分析在Windows CE 6.0中,内核(Kenerl)和OEM代码被分成oal.exe、kernel.dll和kitl.dll三个部分,其中启动代码(startup)和OAL层的实现部分不再与内核链接生成NK.exe,取而代之的是启动代码(startup)和硬件相关且独立于内核的OAL层的实现部分编译成oal.exe,而与内核相关且独立于硬件的OAL层代码包含在kernel.dll中;内核无关传输层(KITL)的支持代码从OAL层分离出来编译成kitl.dll。
从表面上看,好像只是代码重新组合了一下,从帮助文档中BSP的移植过程看好像也是这么一回事,实际上,整个Windows CE 6.0内核布局发生了很大的改变。
Windows CE 6.0的启动过程也是如此,如果你想按照Windows CE 5.0的启动顺序去分析Windows CE 6.0的启动顺序,可能会走到一个死胡同。
主要是因为Windows CE 6.0在启动过程中调用了kernel.dll和kitl.dll两个动态链接库的原因,而且Windows CE6.0不再编译生成KernKitlProf.exe内核文件。
从Windows CE 6.0的帮助文档可以看出,WinCE6.0的启动只与oal.exe和kernel.dll有关,至于kitl.dll,只有将操作系统编译成具有KITL功能时才用到。
分析Windows CE 6.0的启动过程实际上找到编译oal.exe和kernel.dll的源码位置。
首先看一下将WinCE6.0编译成诸如WinCE5.0所说的基本内核情况,即kern.exe。
对于oal.exe源码位置比较容易找到,因为oal.exe 是启动代码与硬件相关的OAL层实现文件编译而成,所以只需在BSP的OAL目录中便能找到。
而对于kernel.dll,在BSP目录结构中,基本上无法找到kernel.dll的编译文件,所以必须从其他方面着手。
建立自己的IMX.283WINCE6.0平台1、安装好WINCE6.0,和VS2005.2、安装EasyARM-iMX283开发板的BSP。
a)将光盘BSP目录EasyARM-iMX283_BSP下的EASYARM-IMX283-SRC文件夹和COMMON文件夹拷贝到D:\WINCE600\PLATFORM目录。
Imx283光盘BSP目录b)下图是将BSP拷贝到D:\WINCE600\PLATFORM目录后,D:\WINCE600\PLATFORM多了EasyARM-iMX283-SRC目录。
c)下图是将BSP拷贝到D:\WINCE600\PLATFORM后,在D:\WINCE600\PLATFORM\COMMON\SRC\SOC路径多了MX28_FSL_V2_PDK1_9和COMMON_FSL_V2_PDK1_9文件夹。
3、新建项目a)打开VS2005,选择文件-->新建-->项目。
b)项目选择及名称更改如下图,点击“确定”。
c)出现如下图,直接点击“下一步”。
d)如下图选择f)如下图选择h)如下图选择4、项目新建完之后,我们要“生成解决方案”。
a)在解决方案栏里,右击“my283_pro”,选择“属性”,单击。
c)如下图选择Locate,再点击“Clear All”,选择“中文”,再单击确定按钮。
d)切换到“Catalog Items View”工作区e)如下图选择加入SD,FLASH驱动。
加入USB hot支持USB鼠标,键盘,U盘。
加入对HIVE注册表和RAM、ROM文件系统的支持5、下载内核到imx283。
a)烧写E-BOOT.将两个文件拷贝到双击flash_eboot.bat出现下图。
同时串口打印信息:3秒内输入空格键串口出现上图打印信息,EBOOT烧录成功。
b)烧录内核i.将有线网络IP设置好设定好后,RJ45灯还未闪烁。
ii.如下图选择2,下载到RAM.结果如下图,下载成功,开发板出现WINCE界面。
Windows CE 6.0入门详解(环境搭建内核配置和应用开发起步)武汉众嵌科技有限公司修订历史记录一、安装开发环境 (3)A)按下列顺序安装所需软件 (3)B)安装说明 (3)C)装中可能出现的问题及解决方法 (4)二、WINDOWS CE 内核定制 (5)A)基W INDOWS CE产品开发流程大致分为以下几个阶段 (5)1.硬件设计 (5)2.选定BSP (5)3.获得驱动程序 (5)4.剪裁系统内核 (5)5.导出SDK (6)B)详细制作流程 (6)1.新建立一个OS Design工程 (6)2.建立工程 (7)3.配置工程 (8)C)配置内核 (10)1.选择应用程序(Applications-End User) (10)2.Applications and Services Development (10)3.选择系统核心服务(Core OS Services) (11)munication Services and Networking (12)5.设备管理(Device Management) (12)6.and Data Store (13)7.选择字体(Fonts): (13)8.国际化支持(International) (13)9.Internet Client Services (14)10.Graphics and Multimedia Technologies (14)11.Shell and User Interface (15)D)生成系统镜像 (15)E)生成SDK (16)F)安装A CTIVE S YNC 并配置 (16)G)配置模拟器并生成程序 (16)H)配置模拟器 (17)I)应用开发 (19)一、安装开发环境a) 按下列顺序安装所需软件1.Visual studio 20052.Visual studio 2005 server pack 13.Visual studio 2005 service pack 1 update for Windows vista/74.Windows Embedded CE 6.0 (Windows Embedded CE6.0.iso)5.Windows Embedded CE6.0 service pack 16.Windows Embedded CE 6.0 R27.Windows Embedded CE 6.0 R38.Windows Embedded CE cumulate product update rolluppackage through(12/31/2010)9.VS_emulator.exe(模拟器)b) 安装说明我的系统是Windows 7 旗舰版所以存在一个权限问题我以这样的方式安装所有的程序:c) 装中可能出现的问题及解决方法报错信息:1. ToolsMsmCA(Error): Setup package issue or CoreConDataStore corrupted: DeviceSDKInstComp Add/Remove failed.HR=0x8007005。
如果是用win7系统,对于0x8007005之类的错误是由于从Windows的Vista之后,运行程序都有一个管理员权限的设置造成的。
只要在安装的时候采用管理员权限就可以顺利的安装好。
WinCE6.0的安装程序点击右键却没有“使用管理员权限”的菜单,处理办法就是用“管理员权限”打开cmd.exe,然后通过命令行的方式,使用Call安装执行程序就可以了。
例如:安装文件在C盘的Wince6.0文件夹下CE6.0.msi 输了的命令为“call c:\wince6.0\ce6.0.msi“2、“ToolMsmCA(Error):Setup package issue or CoreCon DataStore corrupted:CDeviceSDKInstallShim Add/Remove failed.HR=0x80004005”.按如下方法应该可以解决此问题。
1.删除下面的这个文件夹:\Documents and Settings\localuser\Application Data\Microsoft\CoreCon,然后再安装。
(建议删除前先备份一下子,以免出乱子)。
2.在开始运行中输入regedit,进入注册表,在HKEY_LOCAL_MACHINE\software\Microsoft\VisualStudio\D eviceSDKInstaller\1.0下面找到CLSID{1D273EC2-2A24-46fe-9F70-544B27811DF3},并删除。
3.找到DeviceSDKInstComp.dll 并注册一下。
这个DLL在\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages 下面。
在开始运行里面输入regsvr32 " \Program Files\Microsoft Visual Studio 9.0\VC\vcpackages \DeviceSDKInstComp.dll"确定即可。
二、Windows CE 内核定制a) 基Windows CE产品开发流程大致分为以下几个阶段1.硬件设计根据我们的产品所要实现的功能来选定相应的硬件平台和外围设备2.选定BSPWindows CE 支持的处理器主要有ARM 系列,intel x86系列,MIPS系列等,这些BSP已经被集成到Platform Builder里面,我们可以根据需要来选择。
3.获得驱动程序Platform Builder 自带了一些通用的驱动程序,但一些专用的并没有提供,这时要自己开发。
有些平台的bsp自带了相关的驱动。
4.剪裁系统内核在利用Platform Builder 定制系统中,去掉一些不必要的组件,力求系统内核达到所需最小。
5.导出SDK当系统定制好了就可以运行程序生成SDK,安装以便于应用开发b) 详细制作流程1.新建立一个OS Design工程因为我们是在模拟器里面做的所以选择Device Emulator:ARMV4I,接着下一步选择PDA Deivce 再下一步选择Mobile handheld,再下一步选择WordPad一直下一步完成acknowledge。
选择【项目】->【属性】General属性里面选择Release将Release directory最后的Debug该为ReleaseLocale属性里面先Clear all 选择中文Build Options 把eboot勾上然后直接确定即可。
在Build Options列表中的几项说明:◆EnableCE Target Support(SYSGEN_SHELL =1):支持对实际平台的控制◆Enable Eboot Space In Memory(IMGEBOOT =1):支持内存启动◆Enable Full Kernel Mode(no IMGNOTALLKMODE=1):支持全内核模式◆Enable KITL(no IMGNOKITL=1):用于在开发平台和实际平台之间的相互通信◆Run-Time Image Can be Larger then 32MB:实际image可以大于32Mc) 配置内核1.选择应用程序(Applications-End User)首打开右上角【catlog item view 】所列出的是生成系统Image中Windows CE 自带的应用程序,可根据需要来添加相应的应用程序。
这里我们选择ActiveSync 如图。
2.Applications and Services Development这里选择ATL Standard SDK for Windows Embedded CE此要求选择基于我们这个系统Image运行所需要的基础类3.选择系统核心服务(Core OS Services)核心系统服务特性包括内核级对所有Windows CE平台系统特性,次对话框时对一些通用的硬件,工具和特性进行选择,我们选择以下几项:Serial PortSupport ,USB Host Support\USB Input Device \ClassDriver 和USB Storage Class Driver ,PowerManagement\Power Mangement[full]munication Services and Networking次对话框用于选择通信服务和联网功能,由于我们的应用程序不涉及到通信和网络所以不用选择5.设备管理(Device Management)这里不用选择6.and Data Store7.选择字体(Fonts)在这里我们不做选择编译的时候系统会自动选择所需要的基本字体到内核8.国际化支持(International)这里我们将添加中文输入法和软键盘。
9.Internet Client Services在这里我们不做选择10.G raphics and Multimedia Technologies次对话框主要选择准备生成的系统Image所支持的图形和多媒体能力,这里不做选择。
11.S hell and User Interface基本配置到此结束。
d) 生成系统镜像PB可以为设计的系统生成两种镜像:用于调试的Debug和用于发布给用户的Release版。
这些生成以后我们可以建立一个自定义的Run-Time image。
点击【生成】->【Advance Build Command】->Build and Sysgen编译实际比较长。
e) 生成SDK右击解决方案里的SDKS->Add new SDK 配置一下然后右击build生成SDKf) 安装ActiveSync 并配置这个是连接状态的Activesyncg) 配置模拟器并生成程序点击【Target】->Connectivity OptionsDownload 和 Transport 都选择Device Emulator(DMA)Debuger 选择None再点击【Target】->Attach Target运行模拟器h) 配置模拟器1. 先设置模拟器的Windows Embedded CE6.0选择设置->网络和拨号连接新建一个连接点击完成。
2.同步模拟器和PC点击【工具】->设备管理器右击你生成的SDK点插入底座跟PC同步Activesync会自动连接如果成功就同步一个文件夹自己写的程序就可以放到那里在模拟器里面运行了i) 应用开发新建一个MFC程序编译链接后找到EXE文件放到桌面的同步文件夹里面然后进入模拟器点击运行即可效果图:三、参考文档【1】沈庆华.WINCE6[1].0的定制.pdf,北京邮电大学电信工程学院【2】风林火山.Windows CE6.0 如何开发应用程序,博客。