windows ce 操作系统移植主要包括两个方面:一个是基于cpu级的,另一个是基于开发板级的。cpu级的主要由微软或者芯片制造商来完成;开发板级的移植主要是由OEM来完成的,而OAL的开发正是OEM完成这一系统移植的工作核心。
OAL的全称是OEM Adaption Layer,即原始设备制造适配层。它位于操作系统的内核与硬件之间,是连接系统和硬件的枢纽,其主要功能在于初始化设备,引导操作系统以及抽象硬件功能等。从本质上讲,OAL属于操作系统的一部分。windows ce内核在OAL层导出了大量的函数和全局变量,利用这些函数和全局变量,OEM可以编写中断处理,定时器,电源管理器,RTC和通用I/O控制代码等。
CF安装目录的子目录中包含了OAL的部分代码,大多数情况下开发者对OAL只要修改即可,甚至无需修改。OAL的实现是在fwxscl.s,main.c,flash.c,edeviceinit.c等文件中,根据需要修改相应代码,并在此基础上通过Build工具生成builder目录,内核执行镜像kern-kitl.exe以及CEDDK.dll文件等。