320 likes | 402 Views
定制并调试内核. 本节课程主要知识点 调试操作系统镜像 Windows CE 6.0 的配置文件 PB 的 Build 过程. 重点和难点. 重点 内核定制的基本方法 难点 根据不同的应用需求定制内核. 调试操作系统镜像. Emulator ( 1/2 ). Emulator 是用软件的方式来模拟 Windows CE 的运行情况,并可以进行相应的调试,也称仿真调试。
E N D
定制并调试内核 本节课程主要知识点 • 调试操作系统镜像 • Windows CE 6.0的配置文件 • PB的Build过程
重点和难点 重点 • 内核定制的基本方法 难点 • 根据不同的应用需求定制内核
Emulator (1/2) • Emulator是用软件的方式来模拟Windows CE的运行情况,并可以进行相应的调试,也称仿真调试。 • 在Target菜单,选Connectivity Options, 系统将启动进入Device Configuration。由于是进行仿真调试,因此在Download处选择Device Emulator,在Kernel处也选择Device Emulator。
Emulator (2/2) • Windows CE 5.0的模拟器为x86平台,而Windows CE 6.0的模拟器为ARM平台。 • 模拟器有很大的限制,这些限制使它只能运行简单的应用程序。但是有一点是好的,操作系统的大多数API对于任何CPU而言都是相同的。考虑到不受CPU类型影响的简单程序,还是可以在模拟器上调试的。
仿真调试的必要性 • 可以使应用程序的开发与硬件开发并行地进行。 • 便于测试,尤其是对功能的测试。 • 涉及到与硬件无关的调整时,不需要下载到目标机就能观察到结果。 • 初学者在没有设备的情况下,也可以使用Emulator来调试所定制的内核,或测试所编写的程序。
在目标机上调试 • Platform Builder支持通过串行/并行端口、以太网和JTAG/BDM将操作系统镜像下载到设备。 • 对设备的要求是,设备必须启动一段启动代码,一般的做法是在设备的Flash中写入一段启动代码,从而实现操作系统镜像的下载。
配置Windows CE 6.0 • 前面定制了Windows CE 6.0操作系统的镜像,完成定制工作并不表示操作系统就可以直接使用了。 • 一个完整可用的操作系统还有很多的工作需要完成,其中包括对多种Platform Builder配置文件的修改。
Catalog Items视图 • Catalog Items视图中包含了当前操作系统设计中所有的组件,包括驱动程序、基本类库、程序支持文件、应用程序等。 • 如果希望将相应的组件添加到当前的工程中,将相应的组件选上就可以了。
工程视图 • Platform Builder可以设计与工程有关的应用程序及驱动程序。 • 如果在一个工程中建立一个应用程序或驱动程序的工程,则在工程视图中将显示相关程序工程的文件,如.cpp,.h和.res等相关文件。
参数选项 • 参数选项主要包括所设计的操作系统镜像中,可以进行修改和调整的一些参数,参数选项在工程视图中。
操作系统镜像的配置文件 • Platform Builder使用两类配置文件对Windows CE 6.0进行连编: • 源代码配置文件 • 镜像配置文件 • 源代码配置文件为连编工具提供遍历目录的信息。 • 建立二进制格式镜像文件工具Makeimg.exe调用一个应用程序与批处理文件,使用镜像配置文件建立操作系统镜像文件。
BIB文件(1/2) • BIB文件是一个构造文件,其主要功能是对内存进行分配。 • 文件定义了如何将系统的文件添加到所设计的操作系统镜像中。 • 文件定义了组件如何被包含在一个操作系统镜像中。
BIB文件(2/2) • Makeimg.exe文件将使用BIB文件确定怎样去加载模块和文件到目标设备的内存中。
REG文件(1/2) • Windows CE 用于登记硬件、 软件、 用户环境的一套数据文件。 • 在编译链接时,Makeimg.exe使用注册表文件(.reg)为操作系统镜像建立注册表项。
REG文件(2/2) • 在冷启动目标设备时,Filesys.exe使用注册表文件建立一个默认的注册表。
DAT文件 • DAT文件用来指定当系统冷启动时,文件系统如何初始化RAM文件系统结构。 • 通过DAT文件,系统可以在RAM中创建完整的文件系统结构,来存放操作系统文件和应用程序文件。
DB文件 • DB文件用于为对象存储区定义默认的、基于RAM的数据库。
DIRS文件 • DIRS规定哪些目录将被包含到编译目录当中。
SOURCES文件 • SOURCES包含用户自定义宏,来帮助MAKEFILE 和NMAKE.EXE 编译项目的源文件。
CEC文件 • CEC文件实现把应用程序、驱动程序、第三方的驱动程序加载到Windows CE 6.0特性目录中。 • 通过CEC文件,用户可以像添加Windows CE 6.0自带特性一样来添加自己定义特性。 • CEC文件是一个文本文件。
PB的Build过程 • 基于Windows CE 6.0的操作系统镜像的生成过程主要分为4个阶段: • Sysgen • Build阶段 • BuildRel阶段 • Makeimg阶段
Sysgen阶段 • 这一阶段主要将在生成过程中使用到的所有头文件、用于生成DLL的DEF文件以及其他文件中挑选文件。 • 该过程将删除没有在操作系统镜像工程中选择的系统部件,经过处理的头和库随后用于生成平台特定的SDK。
Build阶段 • Build阶段将编译和链接图形、窗口和事件子系统(GWES)、内核、OEM适配层(OAL)、设备驱动及应用程序等。 • 该阶段使用了一组特殊的文件DIRS和SOURCES文件,这些文件确定了Build过程需要编译和链接什么文件。
BuildRel阶段 • BuildRel阶段将从多个位置把Sysgen和Build阶段生成的文件拷贝到Make镜像阶段的发布目录中。 • 主要工作就是拷贝文件。
Makeimg阶段 • 为平台生成最终的ROM映像NK.bin。 • 合并所有平台配置文件(包括BIB、DB、REG和DAT文件)。 • 它将按照配置文件对发布目录中的所有文件进行处理,它将所有内容组合到一个二进制映像文件NK.bin中,以便下载到目标设备上运行。
1、SYSGEN 2、Build ..\platform\.. \target\files\ 3、BuildRel 4、Make Image Build的四个过程 Windows CE 组件 COMMON DATASYNC DIRECTX IE SERVERS WCEAPPSFE ..\CESYSGEN\DDK ..\CESYSGEN\oak NK.BIN %_FLATRELEASEDIR%
Catalog OS Design Items Sysgen Filter BSP / project 2 Build Source Code BUILDREL % _ FLATRELEASEDIR % Make Image NK BIN Build的四个过程 1 2 3 4 .