1、 原始程序代码树的构成
安装Platform Builder (选择安装共享原始程序代码) 以后,在WINCE400目录下会有PLATFORM、PRIVATE、PUBLIC、SDK、OTHERS 几个目录。
>>PLATFORM 里面按照不同平台存放的是BSP,例如CEPC 平台,包括平台特定的驱动程序、引导程序、图形引擎的部分驱动程序、核心HAL 驱
动程序等。
>>PRIVATE 是Windows CE 的共享原始程序代码,主要包括应用服务、资源管理器 (开始菜单接口)、通信支持、数据储存管理器、图形使用者接
口以及事件系统、CE 操作系统kernel 程序代码。PRIVATE 目录下的程序代码一般是不希望开发者修改的,因为这可能会与发布出来的
Windows CE 产品产生兼容性和稳定性的问题。
>>PUBLIC 存放Windows 平台开发工具,包括大量的驱动程序、应用程序开发套件。
>>SDK 按照平台的系统结构存放各种开发工具、例如编译器等。
>>OTHERS 的内容包括MFC、ATL 的共享程序代码、链接库档案以及.NET的共享函式库。
图1 和图2显示了部分程序代码树的构成情况。
图1 PUBLIC 目录结构
2、程序代码共享
Windows CE 并不是直接供最终使用者来使用的操作系统,它的最终使用形式 (可执行程序) 必须由嵌入式系统开发商随他们的嵌入式产品一同发布。系统的原始程序代码则是包含在Platform Builder 中,它可以协助系统开发者开发出在 CE 架构上执行的产品。
Windows CE 的共享程序代码分为两类,一类是Private 目录下的内容,它们的共享受到Microsoft Shared Source License 的约束,另一类是其它部分的程序代码,它们的共享条件是Microsoft end-user license agreement。
3、建构系统
建构一个可以启动的操作系统映像文件的方法是使用Platform Builder 的建构系统工具。根据需要,配置好了一个平台之后,可以使用Build 功能选项,这样Platform Builder 就会透过编译工具,把各个模块编译连结起来,并做好内存配置,产生启动内存映像文件。不过这种方法在建构系统的时候,主要是分析处理预先编译好的操作系统模块,这些函式库档案存放在Public 目录的特定位置,对操作系统本身的程序代码所进行的修改 (典型的是Private 下的原始程序代码)并不会造成相应链接库档案的更新,因此在修正了kernel 的错误之后,需要使用命令列手动编译、更新相应的模块。这一操作需要打开Build 菜单中的命令列 (打开程序代码目录),转移到模块所在的目录之后使用build –c 命令编译更新该模块。之后,再使用Platform Builder 的Build 工具。
图2 PRIVATE 目录结构