第一部分:自定义平台 :更细致的选择组件,只包含我们需要的功能,而不要的全部抛弃。
Step 1:New Platform
Step 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,
Servers
Step 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平台支持串口2
BSP_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。
第三部分:安装目录分析
第四部分: