CE 6.0 R2的构建和部署
2010年11月17日
一直以来,都对CE 6.0的构建过程比较模糊,没有一个比较清晰的认识和解释。最近在备考Microsoft MCTS CE 6.0的考试中,又遇到这个问题了。看来,绕是绕不过去了。还是老老实实好好学习学习吧.~
整个构建过程分以下个部分:编译阶段, Sysgen阶段, build 阶段,release 阶段,makeimg阶段。 每个阶段都有相对应的工具进行处理。
1.编译阶段: 编译器和链接器使用源代码和资源文件来产生可执行文件 (.exe)、静态库 (.lib)、动态链接库 (.dll) 文件,并根据所选区域设置产生二进制资源
文件 (.res)。例如,构建(Build)系统在这个阶段把 Private 和 Public 文件夹中的源代码编译成 lib 文件。这个过程可能花几个小时才完成,但幸运的是
很少需要重新构建这些组件,因为 Microsoft 已经提供了这些二进制文件。在任何情况下,都不应该修改 Private 和 Public 文件夹中的源代码。
2 Sysgen阶段 :构建 (Build) 系统根据 OS Design 中所包括的编录项和依赖关系树,设置或清除 SYSGEN 变量,过滤头文件并为 OS Design 中所定义的软件开发包 (SDKs) 创建导入库,为 OS 设计创建一组运行库映像配置文件,并基于Platform 目录中的源文件构建 BSP。
3build 阶段:构建系统使用 Sysgen 阶段产生的文件来处理 Board SupportPackage ( 板级支持包) 和应用程序的源文件。在这时,与硬件相关的驱动程序
和 OEM 适配层 (OAL) 被构建。虽然构建阶段期间的过程在 Sysgen 阶段被自动执行。需要提醒的是,如果只修改了 BSP 和子项目,那么就可以只重新构建 (Build) BSP 和子项目而不用再次运行 Sysgen 工具。
4release 阶段:构建系统把创建运行库映像所需的所有文件复制到 OSDesign 的 release 目录中。这包括在编译和 Sysgen 阶段创建的 .lib、.dll、和
.exe 文件,以及二进制映像构建器 (.bib) 和注册表 (.reg) 文件。如果头文件和库文件是最新的,构建系统会跳过这个阶段。
5makeimg阶段:构建系统把项目特定的文件(Project.bib、Project.dat、Project.db、和 Project.reg)复制到 release 目录,并把 release 目录中的所有文件组装到运行库映像中。根据 .reg 和 .bib 文件中指定的环境变量的指令,控制构建系统把哪些编录项包括到最后的运行库映像中。运行库映像通常是一个名为 Nk.bin 的文件,这个文件可以被下载到目标设备上运行。
2010年11月17日
一直以来,都对CE 6.0的构建过程比较模糊,没有一个比较清晰的认识和解释。最近在备考Microsoft MCTS CE 6.0的考试中,又遇到这个问题了。看来,绕是绕不过去了。还是老老实实好好学习学习吧.~
整个构建过程分以下个部分:编译阶段, Sysgen阶段, build 阶段,release 阶段,makeimg阶段。 每个阶段都有相对应的工具进行处理。
1.编译阶段: 编译器和链接器使用源代码和资源文件来产生可执行文件 (.exe)、静态库 (.lib)、动态链接库 (.dll) 文件,并根据所选区域设置产生二进制资源
文件 (.res)。例如,构建(Build)系统在这个阶段把 Private 和 Public 文件夹中的源代码编译成 lib 文件。这个过程可能花几个小时才完成,但幸运的是
很少需要重新构建这些组件,因为 Microsoft 已经提供了这些二进制文件。在任何情况下,都不应该修改 Private 和 Public 文件夹中的源代码。
2 Sysgen阶段 :构建 (Build) 系统根据 OS Design 中所包括的编录项和依赖关系树,设置或清除 SYSGEN 变量,过滤头文件并为 OS Design 中所定义的软件开发包 (SDKs) 创建导入库,为 OS 设计创建一组运行库映像配置文件,并基于Platform 目录中的源文件构建 BSP。
3build 阶段:构建系统使用 Sysgen 阶段产生的文件来处理 Board SupportPackage ( 板级支持包) 和应用程序的源文件。在这时,与硬件相关的驱动程序
和 OEM 适配层 (OAL) 被构建。虽然构建阶段期间的过程在 Sysgen 阶段被自动执行。需要提醒的是,如果只修改了 BSP 和子项目,那么就可以只重新构建 (Build) BSP 和子项目而不用再次运行 Sysgen 工具。
4release 阶段:构建系统把创建运行库映像所需的所有文件复制到 OSDesign 的 release 目录中。这包括在编译和 Sysgen 阶段创建的 .lib、.dll、和
.exe 文件,以及二进制映像构建器 (.bib) 和注册表 (.reg) 文件。如果头文件和库文件是最新的,构建系统会跳过这个阶段。
5makeimg阶段:构建系统把项目特定的文件(Project.bib、Project.dat、Project.db、和 Project.reg)复制到 release 目录,并把 release 目录中的所有文件组装到运行库映像中。根据 .reg 和 .bib 文件中指定的环境变量的指令,控制构建系统把哪些编录项包括到最后的运行库映像中。运行库映像通常是一个名为 Nk.bin 的文件,这个文件可以被下载到目标设备上运行。