WINCE系统与常见应用华清远见嵌入式培训中心何英奇.pdf
《WINCE系统与常见应用华清远见嵌入式培训中心何英奇.pdf》由会员分享,可在线阅读,更多相关《WINCE系统与常见应用华清远见嵌入式培训中心何英奇.pdf(149页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、WINCE系统与常见应用华清远见嵌入式培训中心 何英奇WWW.FARSIGHT.COM.CNWindowsEmbeddedWindows Embedded CEWindows Embedded CEFor Handheld GPSFor STB(Set Top Box)Windows Embedded NavReadyWindows MobileWindows AutomotiveWindows XP EmeddedWindows Embedded StarnardWindows Embedded EnterpriseXPVistaWindows Embedded POSReady仅列出部分产
2、品仅列出部分产品只能运行在只能运行在X86X86系统下系统下并非实时系统并非实时系统可以靠第三方组件实现为实时系统可以靠第三方组件实现为实时系统与桌面系统完全兼容与桌面系统完全兼容1.1.良好的可裁剪性和可移植性良好的可裁剪性和可移植性2.2.具备足以满足绝大多数应用场合的实时性具备足以满足绝大多数应用场合的实时性3.3.与与Win32 APIWin32 API的良好兼容性,包括多语言、的良好兼容性,包括多语言、DirectXDirectX等的支持等的支持4.4.丰富的应用软件支持,包括对通信,网络丰富的应用软件支持,包括对通信,网络和多媒体等的支持和多媒体等的支持Windows CEWind
3、ows CE的最小可执行内核大小约为的最小可执行内核大小约为200K200K,典型的内核大小为,典型的内核大小为8M8M-20M20M左右左右组件可以灵活的增减,集成开发环境会自组件可以灵活的增减,集成开发环境会自动处理它们之间的依赖性动处理它们之间的依赖性Windows CEWindows CE目前支持大量的主流嵌入式目前支持大量的主流嵌入式CPUCPU如如X86X86,MIPSMIPS,ARMARM,SuperHSuperH提供了产品级提供了产品级BSPBSP支持,最大限度的减少支持,最大限度的减少移植时间移植时间判断标准:最差响应时间,平均响应时间判断标准:最差响应时间,平均响应时间Wi
4、nCEWinCE实时性的设计目标实时性的设计目标WinCEWinCE的实时性基于以下几个方面的实时性基于以下几个方面采用抢占式多任务内核采用抢占式多任务内核支持嵌套中断,高优先级中断优先执行支持嵌套中断,高优先级中断优先执行ISRISR,ISTIST机制机制强大的进程线程机制强大的进程线程机制实现了实现了Win32 APIWin32 API的子集的子集提供了提供了MFCMFC,ATLATL等模板支持等模板支持提供了提供了.NET Framework.NET Framework的支持的支持COM/COM+COM/COM+,Win SocketWin Socket等大量与桌面等大量与桌面Windo
5、wsWindows相兼容的技术相兼容的技术提供了多语言支持提供了多语言支持通过通过ActiveSyncActiveSync等方式方便地与等方式方便地与PCPC连接连接提供了提供了IEIE,MSNMSN,MS OfficeMS Office,Windows Windows Media PlayerMedia Player等大量的应用软件支持等大量的应用软件支持提供了大量的应用支持库如提供了大量的应用支持库如VoIPVoIP支持,各支持,各类多媒体编、解码器类多媒体编、解码器强大的强大的IDEIDE和调试工具,多种模拟器,帮助和调试工具,多种模拟器,帮助缩短产品的上市时间缩短产品的上市时间工业控制
6、工业控制仪器仪表仪器仪表消费类电子消费类电子PNDPNDPMPPMPMobileMobile实时系统实时系统丰富的丰富的GUIGUI元素元素丰富的通信接口丰富的通信接口支持众多存储格式支持众多存储格式强大的数据库功能强大的数据库功能大量的大量的VCVC程序可以方便的移植过来程序可以方便的移植过来HMIHMI机床控制器机床控制器工业通信服务器工业通信服务器实时系统实时系统丰富的丰富的GUIGUI元素元素丰富的通信接口丰富的通信接口支持众多存储格式支持众多存储格式强大的强大的internetinternet访问功能访问功能手持协议分析仪手持协议分析仪车载仪表盘车载仪表盘基于基于PDAPDA的信号采
7、集、分析设备的信号采集、分析设备PND(Portable Navigation Device)PND(Portable Navigation Device)PMP(Portable Media Player)PMP(Portable Media Player)MobileMobile丰富的丰富的GUIGUI元素元素内置定位开发内置定位开发SDKSDK丰富的媒体功能丰富的媒体功能丰富的通信接口丰富的通信接口强大的强大的internetinternet访问功能访问功能开发门槛低开发门槛低车载导航仪车载导航仪手持导航仪手持导航仪丰富的媒体功能丰富的媒体功能内置大量的编解码器内置大量的编解码器丰富的通
8、信接口丰富的通信接口支持众多存储格式支持众多存储格式大量的第三方软件可供使用大量的第三方软件可供使用PMPPMPNetBookNetBookPDA(HPPDA(HP、Palm)Palm)大量的第三方软件支持大量的第三方软件支持附带大量的应用程序附带大量的应用程序丰富的通信协议支持丰富的通信协议支持各类各类SmartPhoneSmartPhonePLATFORMBUILDER简介华清远见嵌入式培训中心 何英奇WWW.FARSIGHT.COM.CNPlatform BuilderPlatform Builder简介简介Platform BuilderPlatform Builder与早期版本的区别
9、与早期版本的区别远程调试工具远程调试工具作为作为Visual StudioVisual Studio的插件的插件针对针对WinCEWinCE平台的平台的IDEIDE编辑编辑编译编译调试调试安装Visual Studio 2005或者更高版本安装VS2005 SP1安装Platform Builder 6.0安装Platform Builder 6.0 SP1安装Platform Builder 6.0 R2安装2008年的累积补丁包安装最新的补丁包ARM V4(ARM9)ARM V5(ARM10)ARM V6(ARM11)Visual Studio 2005Visual Studio 2008
10、Visual Studio 2005 SP1Visual Studio 2005 SP1Visual Studio 2008 SP1Visual Studio 2008 SP1可以从网上下可以从网上下载试用版载试用版安装安装PB 6.0 R2PB 6.0 R2的前提的前提增加了增加了VOIPVOIP等支持等支持修正了一些修正了一些bugbug网络安装网络安装可以全部下载到本地再安装可以全部下载到本地再安装每年度的累积补丁包每年度的累积补丁包每个月的最新补丁包每个月的最新补丁包目前是目前是2009.12009.1基本上每个月上旬发布上个月的最新补丁基本上每个月上旬发布上个月的最新补丁包包开发应用
11、程序有用开发应用程序有用模拟模拟ARMARM而不是而不是X86X86对于对于BSPBSP开发不是必须的开发不是必须的菜单菜单-Target Target-Remote Tools Remote Tools提供提供PCPC端调试设备端的系列工具端调试设备端的系列工具提供远程文件访问提供远程文件访问上传下载上传下载读取远程设备的当前进程信息读取远程设备的当前进程信息可以结束进程可以结束进程远程注册表编辑器远程注册表编辑器类似于类似于WindowsWindows自带的编辑器自带的编辑器可以导入导出可以导入导出第三方提供设备端的注册表编辑器第三方提供设备端的注册表编辑器远程性能监控远程性能监控用于找出
12、系统瓶颈用于找出系统瓶颈KITLKITLActiveActive SyncSyncTCP/IPTCP/IPPlatformPlatform BuilderBuilder 5.05.0及更早版本都是作为一及更早版本都是作为一个独立的个独立的IDEIDE套件发行的套件发行的从从PlatformPlatform Builder 6.0Builder 6.0开始作为开始作为Visual Visual StudioStudio的一个插件的一个插件WINCE定制、裁剪入门华清远见嵌入式培训中心 何英奇WWW.FARSIGHT.COM.CN新建一个新建一个WinCEWinCE项目项目裁剪自己需要的系统裁剪自
13、己需要的系统WinCE CatalogWinCE Catalog简介简介增加自己的特性增加自己的特性菜单菜单-File File-New New-Project Project在在CatalogCatalog对话框内选择需要的组件对话框内选择需要的组件不同图标的含义不同图标的含义WINCE编译入门华清远见嵌入式培训中心 何英奇WWW.FARSIGHT.COM.CN使用使用IDEIDE编译编译方便直观方便直观缺少灵活性缺少灵活性使用命令行编译使用命令行编译需要熟悉各命令的参数需要熟悉各命令的参数高度可控,可定制高度可控,可定制菜单菜单-Project Project-Properties Pro
14、pertiesSysgenSysgenBuild BSP&ProjectsBuild BSP&ProjectsSysgenSysgen生成必须的头文件和库文件,并编译生成必须的头文件和库文件,并编译BSPBSPBuild&Build&SysgenSysgen编译系统目录编译系统目录Build Current BSP&SubprojectsBuild Current BSP&Subprojects编译当前的编译当前的BSPBSP包包参考文档参考文档删除删除Build&Build&SysgenSysgen命令,防止误操作命令,防止误操作SysgenSysgenBuild BSPBuild BSP代
15、码代码Make ImageMake Image阶段阶段产生所需的头文件产生所需的头文件产生依赖的库文件产生依赖的库文件Build BSPBuild BSP代码代码编译全部编译全部BSPBSP代码代码Make ImageMake Image阶段阶段CopyCopy目标代码到最终目录目标代码到最终目录根据根据bibbib文件从上面的文件生成文件从上面的文件生成.bin.bin文件文件根据需要生成相应的根据需要生成相应的NB0NB0文件文件BlddemoBlddemoBuildBuildMake imageMake image存放了项目文件存放了项目文件包括项目相关的包括项目相关的bib,reg,d
16、bbib,reg,db和和datdat文件文件一般会分为一般会分为DebugDebug和和ReleaseRelease目录目录存放各平台的存放各平台的BSPBSP所有对所有对BSPBSP的修改都应该这个目录中进行的修改都应该这个目录中进行体系结构相关的一些代码,如体系结构相关的一些代码,如ARM,MIPSARM,MIPS等等CommonCommon里面是体系结构无关的代码里面是体系结构无关的代码SOCSOC里面是具体某些里面是具体某些CPUCPU的相关代码的相关代码(CSP)(CSP)微软公开提供的代码、工具等微软公开提供的代码、工具等PUBLICPUBLIC COMMONCOMMON OAK
17、OAK是经常会修改的地是经常会修改的地方方不要直接修改该目录下的文件不要直接修改该目录下的文件微软提供的一些代码和库微软提供的一些代码和库一般不建议修改,仅供参考一般不建议修改,仅供参考万一需要修改也不要直接在该目录下改万一需要修改也不要直接在该目录下改SDKSDK的意义的意义SDKSDK的编译的编译提供给应用程序提供给应用程序包含了应用程序开发所必须的头文件和库包含了应用程序开发所必须的头文件和库文件文件应用程序使用该应用程序使用该SDKSDK编译出来的程序可以编译出来的程序可以直接在设备上运行直接在设备上运行通过通过PBPB需要添加自己特殊的一些库文件和头文件需要添加自己特殊的一些库文件和
18、头文件修改修改OALLIBOALLIB目录下的文件目录下的文件SourceSource文件简介文件简介快速生成新的快速生成新的NKNK修改修改OALLIBOALLIB目录下的文件目录下的文件打开编译命令行打开编译命令行编译当前目录编译当前目录SourceSource文件简介文件简介查找查找liblib依赖关系依赖关系编译编译OALEXEOALEXE快速生成新的快速生成新的NKNKMake ImageMake ImageWINCE系统的调试华清远见嵌入式培训中心 何英奇WWW.FARSIGHT.COM.CN串口串口/网口输出网口输出KITLKITLActiveActive SyncSyncCer
19、dispCerdisp最基本的调试手段最基本的调试手段EbootEboot中就要初始化中就要初始化OEMInitDebugSerialOEMInitDebugSerial为为EbootEboot和和OALOAL共用共用共用代码,减少工作量共用代码,减少工作量以以liblib的形式使用的形式使用类似于类似于VxWorksVxWorks下的情况下的情况PQOALPQOALKernel Independent Kernel Independent Transport LayerTransport Layer不依赖内核提供服务,自己不依赖内核提供服务,自己实现通信功能实现通信功能KITLKITL的架构
20、的架构可以对内核代码打断点可以对内核代码打断点EbootEboot就要初始化就要初始化就要初始化就要初始化OEMKitlInitOEMKitlInitKITLIoctlKITLIoctl和和OEMIoControlOEMIoControlKern.exeHal.libNk.libKernkitl.exeHal.libNk.libKITL.libNK.exeKern.dllkernel.dllKITL.dlloal_kitl.libnkstub.libDriversEthernet DriverSerial DriverSerialSerial因为速度等原因,功能受限制因为速度等原因,功能受限制
21、EthernetEthernet最简单实用的最简单实用的KITLKITL通路通路USBUSB最方便的接口最方便的接口实现起来比较复杂,需要实现实现起来比较复杂,需要实现RNDISRNDIS接口,最接口,最终功能类似于终功能类似于EthernetEthernet最常用的接口最常用的接口Remote ToolsRemote Tools的用法的用法应用程序应用程序DebugDebugActive Sync over USB/Active Sync over USB/串口串口/Blue/Blue Tooth/Tooth/IrdaIrda基于基于PPPPPP协议协议RNDIS/RNDIS/串口串口CE
22、Remote DisplayCE Remote Display基于基于TCP/IPTCP/IPtelnettelnet到客户机到客户机执行执行cerdispcerdisp c ccerhostcerhostWINCE BOOTLOADER的移植华清远见嵌入式培训中心 何英奇WWW.FARSIGHT.COM.CNNAND Bootloader(XLDR)初始化CPU和DDR搬移Eboot到RAM中跳转到Eboot,进入保护模式初始化串口,读取flash中存储等参数,并实现一个简单的menu等待用户输入如果需要下载,则根据flash中的参数初始化Ethernet或USB等下载,并烧录到nand f
23、lash中,校验(需要对坏块进行处理)后等待重启直接进入NK的跳转地址Eboot的使命完成串行读取串行读取无法无法XIP(XIP(eXecuteeXecute in in PlacePlace)写入速度快写入速度快容易产生坏块容易产生坏块(MLC vs.SLC)(MLC vs.SLC)开头开头4K4K采用不同工艺,确保没有坏块采用不同工艺,确保没有坏块NAND FlashXLDREBOOTNKFileSystem初始化初始化CPUCPU和和DDRDDR搬移自身到搬移自身到RAMRAM中中搬移搬移ebooteboot到到RAMRAM中中跳转跳转关闭看门狗关闭看门狗关中断关中断关闭关闭MMUMMU
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WINCE 系统 常见 应用 远见 嵌入式 培训中心
限制150内