第一部分:自定义平台 :更细致的选择组件,只包含我们需要的功能,而不要的全部抛弃。
Step 1:New PlatformStep 2:命名,D:/WINCE500/PBWorkspaces/test.wce 脚本文件Step 3:BSP, 选择"SAMSUNG SMDK2440:ARMV41" CE平台的环境有三种: 1,真实环境:某种CPU指令及其board的支持 2,模拟环境:在PC上模拟运行某CE平台 3,PC环境: 在PC上运行的CE平台,并且提供一组引导文件来加载CE内核文件(nk.bin).Websetup.exe -> WEBIMGNT.EXE c:/WEBIMGNT.EXE cepcboot.144 到A盘,修改autoexec.bat(SET NET_IRQ=9 SET NET_IOBASE=0)Setp 4:Design Template, 选择"Custom Device" 包括好多模型: Mobile IPPhone setbox gateway等等Step 5:Application & Services Development: 各种库 ATL, C/C++ Lib, COM/DCOM, Speech Interface, LDAP(轻型目录), MSMQ, MFC, OBEX(Object Exchange), POOM(Pocket Outlook Object Model), SDK for WinCE, SOAP, .NET Compact Framework(.NET的支持框架) SQL Server, XML, Exchange Client.Step 6:WinCE的应用程序 ActiveSync, CAB File, File Viewers, FLASH update, Games, Help, Inbox, Remote Desktop Connection, Terminal Emulator, Windows Message, WordPad.Step 7:Core OS Service 内核支持的服务 Battery Driver, Display Support, Serial Port, Parallel Port, Internet Application, Notification LED, PNP Notifications, USB Host, Debugging Tools, Notification, Power Management, Device Mannager, Kernel Featrues Step 8:Communication Services and Networking 包含CE支持的所有网络协议。 Networking Features, LAN, PAN(Bluetooch,irDA), WAN, ServersStep 9:Device Management 设备管理器 Device Management client, Simple Network Management Protocol(SNMP)Step 10:File Systems and Data Store 文件系统和数据存储 Compression, Database Support, File and Database Replication, File System - Internal, Register Storage, System Password,Step 11:Fonts
包含和存储设备相关的支持。具体包括存储管理器(支持CDFS、FAT文件系统)、数据库支持、ROM和RAM文件系统、注册表存储支持。关于ROM和RAM、FAT我在以前的文章中提到过,这里就不再详细讲解了。
包含和存储设备相关的支持。具体包括存储管理器(支持CDFS、FAT文件系统)、数据库支持、ROM和RAM文件系统、注册表存储支持。关于ROM和RAM、FAT我在以前的文章中提到过,这里就不再详细讲解了。
system development/windows ce.net overview/catalog features/applications
第二部分:PB5主界面介绍
Catelog->
Core OS->Application and Services Development: 用于软件开发的库 Simple Network Management Protocol(简单网络管理协议) Pocket Outlook Object Model API (用于读取Pocket PC中"Inbox"软件中的数据) Beta .NET Compact Framework" (NET的支持框架)Application - End User: Windows CE自带的应用程序Communitcation Services and Networking: 网络组件 Networking Features"中大多数的子项都要加入的, 红外线一定要加入PAN中的IrDA。 要拨号上网的一定要加入WAN所有项Core OS Services: 操作系统内核支持的服务 串口支持、并口支持、USB口支持、调试工具、电源管理,还有一些其它特征 Toolhelp就是专门用于查看当前操作系统的进程及进程包含的线程、DLL的信息 Kernel Features"(内核特征)中的Fiber API是用于支持纤程的API Keyboard & Touch Driver Debugging Sample Applications"包括四个调试工具,用于 调试触摸屏和键盘的驱动程 LMemDebug memory debugging hooks"用于查看当前操作系统正运行的程序的内存信息File systems and Data Store: 存储特征 存储管理器(支持CDFS、FAT文件系统) 数据库支持 ROM和RAM文件系统 注册表存储支持Fonts: CE包含的所有英文字体 不要添加太多的字体International: 国际化选项 National Language Support[NLS]:各种语言支持包 Chinese {Simplified} 第一子项Agfa AC3 Font Compression:这是一种字体压缩技术,适合中文字体。 Chinese {Simplified}"其它子项包括中文输入法、输入法编辑器建议全部选择Internet Client Services: Internet客户端程序、支持的组件和脚本 Browser Application: Internet Explorer 5.5 for Windows CE Components,建议选择第一子项 Pocket Internet Exlporer,是在PDA上的功能较少的Internet浏览器 Internet Explorer 5.5 for Windows CE Components 建议选择全部子项。这些子项都是开发IE的API函数、Active X控件 Sample IE 5.5 Internet Options Control Panel "控制面板"中的用于修改IE选项的程序。和Windows 桌面操作系统下"控制面板"中的"Internet 选项"一样CE支持的多媒体服务:可以任意选取要播放的各种媒体和具体媒体的格式。Direct X也可以分拆选取.Security: CE支持的安全服务Shell and User Interface: 各种外壳,用户接口,GUI,资源管理器. Graphical Shell "Standard Shell",资源管理器
环境变量(Build->Open Build Release Directory->set|more,platform->Settings->Environment->add)SYSGEN_BSP_ SERIAL2:此CE平台支持串口2BSP_NO SERIAL:此CE平台不支持串口
所有选项保存到脚本文件(*.wce)中。当编译CE平台时,sysgen.bat调用cesysgen.bat读取*.wce文件的内容来设置全部的环境变量再调用nmake.exe 程序根据环境变量来编译模块(源码C)、复制模块(DLL等)。下面讲述整个编译过程中PB所做的工作:0,执行cebuild.bat->sysgen.bat->cesysgen.bat(在*.wce文件中搜索用户选择的特征,形成一系列环境变量)之后PB会显示这些变量,下面几个步骤就是显示收集的变量:1,产生SYSGEN变量。每个SYSGEN变量对应一个特征。 2,产生CE_MODULE、COREDLL_COMPONENTS、FILESYS_COMPONENTS、DEVICE_COMPONENTS、GWE*_COMPONENTS、DCOM_MODULES、FONTS_COMPONENTS等环境变量。其中每个环境变量包含某一个特征具体的内容。从环境变量名称就可以看出来是哪种特征。 3,对_DEPTREES环境变量指定的每个目录分别执行sysgen.bat批处理。_DEPTREES这个变量的值是一些目录名(例如DCOM、IE、SERVERS、DIRECTX、WCESHELLFE等),这些目录名位于%WINCEROOT%/public。如果安装PB v4.1时默认安装路径,那么此目录路径为C:/WINCE410/Public。 4,编译BSP。因为我们采用的BSP是Emulator,所以PB会编译%WINCEROOT%/Platform/Emulator目录下三个子目录KERNEL、DRIVERS、GWE中的源码文件。 清除_FLATRELEASEDIR环境变量指定的目录下的所有文件、子目录。假如我们定制的平台路径为C:/Emulator,那么这个环境变量的值为C:/Emulator/RelDir/Emulator_X86Release。 5,复制%_PROJECTROOT%/所有文件到_FLATRELEASEDIR。 6,根据本地地区环境变量,寻找所有与本地语言相关的*.str文件复制到_FLATRELEASEDIR中。*.str文件中包含了字符串资源,将字符串与ID关联。在_FLATRELEASEDIR目录下你可以看到以地区码为目录名的子目录。 7,处理NLS(国家语言支持)数据。 8,执行fmerge.exe。合并所有*.bib文件为一个文件ce.bib,合并所有*.reg文件为一个文件reginit.ini。 9,执行cebuild.bat批处理文件。 10,执行fmerge.exe。合并所有*.db文件为一个文件initdb.int,合并所有*.dat文件为一个文件initobj.dat。 11,运行regcomp.exe压缩reginit.ini。 12,运行txt2ucde.exe。将整个CE平台涉及到的所有字符串转成unicode码。 13,运行res2exe.exe。将所有*.dll、*.exe、*.cpl文件中的资源更新。资源更新部分主要和语言相关。 14,运行Romimage.exe。将所有文件合并压缩成一个文件nk.bin(默认文件名)。
整个编译过程被调用的批处理文件和EXE文件主要包括:cebuild.bat、sysgen.bat、cesysgen.bat、nmake.exe、txt2ucde.exe、makeimg.exe、fmerge.exe、regcomp.exe、res2exe.exe、romimage.exe、build.exe。 第三部分:安装目录分析
第四部分: