您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > platform+builder之旅-付林林
PlatformBuilder之旅(一)作者:付林林在以前的文章中我已经数次提到了PlatformBuilder(简称PB),并且简单的讲述了利用PBv4.1的定制平台向导(NewPlatformWizard)创建了几个CE的平台。从这一篇文章起,我和PB爱好者们一起进入PB的世界,一起领略PB的风采,一起学习PB。写每一篇文章对我来说都是一个进步,希望大家能够多提宝贵意见,多阐述看法。相信看到我以前写的文章你已经会利用定制平台向导来定制简单的内核了。这次我仍然用这个向导,只不过采用自定义配置来选择平台的组件。自定义配置的优点是能够更细致的选择组件,这样定制的平台只包含我们需要的功能,而不要的全部抛弃。首先打开NewPlatform,在Step2中选择EMULATOR:X86。在这里强调一点:能够运行PB创建的CE平台的环境有三种。第一种是真实环境,包括某一种CPU和支持的主板还有其它配置;第二种是模拟环境,PB包含了模拟器,能够在PC上模拟运行CE平台;第三种是PC环境,PB可以创建能够在PC机运行的CE平台。并且提供了一组引导文件,通过这些引导文件可以加载CE内核文件(nk.bin)并启动WindowsCE。三种环境相比较,如果具备真实的环境那是最好了,模拟环境只能模拟简单的功能,PC环境和模拟环境相似,只适合用来学习PB。PC环境需要的引导文件可以通过如下办法得到:在PB的安装所在位置(比如C盘)查找文件Websetup.exe,运行这个文件,这个程序会解压出一个名为WEBIMGNT.EXE的文件。再查找名为cepcboot.144的文件,将cepcboot.144文件复制到同WEBIMGNT.EXE同一个目录下。插入软盘到A驱,然后在控制台程序(cmd.exe)下输入命令WEBIMGNT.EXEcepcboot.144。在弹出的对话框中单击Adrive,程序把解压出来的启动文件都复制到软盘上。编辑启动文件中的Autoexec.bat批处理文件,如果PC配置的网卡是被支持的(微软推荐的网卡类型有NE2000、SMC9000兼容网卡、RealTekRTL8139等),并且是PCI接口的,按如下修改:setNET_IRQ=9setNET_IOBASE=0修改之后还要输入一个静态的IP地址。这个IP地址要和运行PB的电脑的IP地址处于一个子网内。实际上PC环境还是无法实现CE平台的大多数功能,所以对于要学习PB而又不具备真实环境的人来说,模拟器是比较合适的。回到定制平台向导,在Setp3中单选Customconfiguration,输入平台名称和路径。在Step4中必须单选CustomDevicewithShellandGraphicalUserInterfac。表示平台将加入外壳程序和GUI。有了资源管理器这样的外壳程序我们操作就方便多了。在Step5中列出的是Application&ServicesDevelopment。这些都是用于软件开发的库。大多数支持库我们在PC上开发时早已熟悉了,有几个是CE独有的。比如SimpleNetworkManagementProtocol(简单网络管理协议),这是用在网络设备上的协议;PocketOutlookObjectModelAPI,用于读取PocketPC中Inbox软件中的数据;Beta.NETCompactFramework是.NET的支持框架。这个在PBv4.1中不要选取,它在PBv4.2中才是正式版。其余的选项说明参见CE帮助文档(位置:operatingsystemdevelopment\windowsce.netoverview\catalogfeatures\applicationsandservicesdevelopment)。Step6中列出了WindowsCE自带的应用程序。Step7中列出了操作系统内核支持的服务。包括串口支持、并口支持、USB口支持、调试工具、电源管理,还有一些其它特征。这里的调试工具不仅仅指能够用于调试的应用程序,还包括用于调试的API函数。Toolhelp就是专门用于查看当前操作系统的进程及进程包含的线程、DLL的信息。KernelFeatures(内核特征)中的FiberAPI是用于支持纤程的API。Keyboard&TouchDriverDebuggingSampleApplications包括四个调试工具,用于调试触摸屏和键盘的驱动程序。LMemDebugmemorydebugginghooks用于查看当前操作系统正运行的程序的内存信息。在Step8中列出的是网络特征(我有时称特征为组件,实质一样)。包含CE支持的所有网络协议。NetworkingFeatures中大多数的子项都要加入的,其它项按需加入。比如要支持红外线一定要加入PAN中的IrDA。要拨号上网的一定要加入WAN所有项。Step9中列出了存储特征。包含和存储设备相关的支持。具体包括存储管理器(支持CDFS、FAT文件系统)、数据库支持、ROM和RAM文件系统、注册表存储支持。关于ROM和RAM、FAT我在以前的文章中提到过,这里就不再详细讲解了。Step10中列出了CE包含的所有英文字体。要了解这些字体中每种字体所占空间大小,可以将鼠标放到字体名字的上面,系统就会显示这种字体的大小。一般来说一个定制的CE平台其中字体尤其是中文字体占用空间是很大的,所以选择字体要慎重。除非必要,否则不要添加太多的字体。Step11列出了国际化选项。包括各种语言支持包。在这里选择NationalLanguageSupport[NLS],再选择一种本地区语言,比如Chinese{Simplified}。AgfaAC3FontCompression建议选择,这是一种字体压缩技术,适合中文字体。在Chinese{Simplified}第一子项中列出了字体。这一项选择至关重要,因为中文字体占用的空间太大了,直接影响CE平台的总体大小。具体选择哪些字体请参见CE帮助文档(位置:operatingsystemdevelopment\windowsce.netoverview\catalogfeatures\International)。从帮助文档中才能了解具体哪个子集包含哪些中文字体和字符集。Chinese{Simplified}其它子项包括中文输入法、输入法编辑器建议全部选择。Step12列出了CE包含的Internet客户端程序、支持的组件和脚本。第一项BrowserApplication中建议选择第一子项InternetExplorer5.5forWindowsCEComponents,而第二子项PocketInternetExlporer是用在PDA上的功能较少的Internet浏览器。第二项InternetExplorer5.5forWindowsCEComponents中建议选择全部子项。这些子项都是开发IE的API函数、ActiveX控件。第四项SampleIE5.5InternetOptionsControlPanel是控制面板中的用于修改IE选项的程序。和Windows桌面操作系统下控制面板中的Internet选项一样。Step13列出了CE支持的多媒体服务。可以任意选取要播放的各种媒体和具体媒体的格式。DirectX也可以分拆选取。Step14列出了CE支持的安全服务。Step15列出了各种外壳和用户接口。外壳程序一般常常选择GraphicalShell中的标准外壳程序StandardShell,也就是资源管理器。Step17是最后一步。单击Done按钮,PB将用户选择的所有选项保存到脚本文件(*.wce)中。当编译CE平台时,sysgen.bat批处理文件会调用cesysgen.bat批处理文件,cesysgen.bat读取*.wce文件的内容,根据此文件的内容来设置全部的环境变量。cesysgen.bat处理之后sysgen.bat调用nmake.exe程序根据环境变量来编译模块(针对源码文件,如C语言文件)、复制模块(针对非源码文件,如DLL等)。具体编译操作以及编译时PB所做的工作我将在下一篇文章中详细讲述。PlatformBuilder之旅(二)作者:付林林上一章所说,当用PB的定制平台向导选取了一个平台的所有特征(feature)后,接下来的工作就是编译了。即使你从来未曾编译过,你也能想象得到编译的时间一定很长。因为PB是在编译一个操作系统,而非一个应用程序。当然,越快的硬件环境编译的速度就越快。一般我编译一个内核需要5分钟到10分钟之间。在编译之前你可能还要对这个CE平台的某些特征进行修改。为此,你必须熟悉PB的操作环境。下面图1是PB打开一个平台工程文件的界面。图一PB主界面图一中数字所指示的内容描述如下:1.Build工具栏。此工具栏上按钮、下拉框都用于编译、调试。数字1指向的下拉框是编译指令集,可以指定不同的指令集来编译CE平台或者应用程序。2.Workspace窗口。此窗口有三个子视图,分别为FeatureView、ParameterView、FileView。当打开一个平台工程文件后,FeatureView显示这个平台所有的特征。如设备驱动程序、各个软件组件等。ParameterView显示所有平台通用的配置文件和当前平台的配置文件,这些配置文件扩展名为*.bib、*.reg、*.db、*.dat。FileView显示在当前CE平台上建立的应用程序源码文件、资源文件、资源脚本文件等。也就是说如果在当前CE平台上建立一个应用程序工程,那么所有的文件都在FileView中显示出来。类似EVC、VC的Workspace窗口中的FileView。注:关于FeatureView和ParameterView包含的内容在以后的文章中讲解。3.Output窗口。用于显示输出信息。类似EVC、VC的Output。4.Target窗口。此工具栏上按钮分别用于下载内核文件到模拟器或实际平台、连接、断开。当一个CE平台编译好了之后,就可以按下载按钮将平台(nk,bin)文件下载到模拟器上运行。5.Catalog窗口。这个窗口包含所有的CE支持的特征。6.状态栏图标。位于状态栏最右端的四个图标中,最左边的图标表示当前下载状态。另外三个表示三种服务状态,这三种服务运行在目标机(targetdevice)上。在这里就是模拟器。要向当前CE平台添加特征,首先在右边Catalog窗口中找到要添加的特征,找到后移动鼠标光标到此特征上,然后单击右键,在弹出的菜单中单击AddtoPlatform,PB就将此特征添加到左边当前CE平台中。如果无反应说明此特征已经被添加进去了。要删除当前CE平台中某一个特征,移动鼠标光标到此特征上,单击右键,在弹出的菜单中选择Delete。并非所有的特征都可以任意删除,因为有些特征是彼此关联的。这部分将在以后的文章中讲述。对平台进行一些基本的设置,打开菜单platform-Settings,检查Locale选项卡中地区和语言设置。这一点很重要,它决定着编译的平台采用的语言种类。再在Environment选项卡中添加IMGRAM64环境变量,值设置为1。单击OK,PB开始将此环境变量加入到平台中。单击工具栏上BuildPlatform按钮开始编译。在讲述编译过程前必须先了解环境变量以及如何读取和设置环境变量。一个环境变量包含了一个CE操作系统某一方面的信息。例如一个驱动程序、一个路径、一个配置文件、一个特征等。当PB编译CE平台时,先做的工作就是收集所有的环境变量供编译器使用。读取和设置环境变量的最好方法是单击PB菜单Build-OpenBuildReleaseDirectory,PB会弹出一个控制台窗口,也就是命令行外壳。键入set命令,当前平台所有的环境变量就显示出来了,不过要多屏显示。为了看清楚每个变量的值,可以键入set|more,这样就可以分屏查看了。还可以将所有环境变量信息保存到硬盘上,比如键入setC:\envi.txt。要查看单个
本文标题:platform+builder之旅-付林林
链接地址:https://www.777doc.com/doc-4338046 .html