WinCE 的项目开发,必须充分利用微软提供的资源,包括库的源码和一些例子,所以得熟悉WinCE6.0下的目录组织结构和一些配置文件的功能。这里做个汇总,以备日后查询。里面用到了很多网络资料,如有侵权,请联系本人,及时修改。

    一、目录结构

       首先,来看看WINCE600根目录下面分为哪几部分:
    1OTHERS文件夹

       在系统定制的时候会选择很多组件,其中一些组件的相关信息就在该文件夹中,其二进制代码可能被包含到最终的操作系统镜像中。一般开发者不需要变动这里面的内容。该目录主要包含以下目录:
    2PLATFORM文件夹

       该文件夹下面存放的都是各个BSP的子目录。一般将自的BPS会添加到此目录下才可以使用。它主要包含以下目录:
    PLATFORM\COMMON文件中存放的是所有可重用的代码,在BSP之前编译。
    PLATFORM\COMMON\SRC\COMMON目录下存放的是BSP可重用的代码,与硬件平台无关,譬如一般的IOCTL处理函数、与内核交互的公共的中断程序等等,另外还包括一下库文件,如OAL_IOCTL.liboal_intr.liboal_log.libkitl_log.lib等等。这一部分代码由微软提供,一般不能修改。

    PLATFROM\COMMON\SRC\<CPU>CPU表示MCU的不同体系结构,如ARMMIPSSHX86。这些目录分别存放了各体系结构的MCU的相关代码,如CACHE相关代码、物理地址和虚拟地址转换的代码等等。这部分代码只针对MCU的内核,不涉及具体的芯片。这一部分代码也由微软提供,不建议修改。

    PLATFORM\COMMON\SRC\SOC:该目录下存放了不同的MCU对应的代码,跟BSP对应,这里可看做是CSP(CHIPSET SUPPORT PACKAGE)。这一部分的代码一般来说不能直接修改。

    3PRIVATE文件夹

       该文件夹下存放的是操作系统私有的源代码,一般不会修改。主要包含的目录如下:
    4PUBLIC文件夹

       该文件夹的内容非常丰富,在开发过程中也是会用的比较多。不过不建议直接修改该目录下面的文件内容,可以拷贝出来到自己的bsp中,修改使用。
    这里要特别强调以下Common文件夹的内容,它的目录结构如下:
    DDK中是很多驱动开发的头文件,驱动中会经常看到有很多应用。

    OAK目录下面有一个文件夹为DRIVERS,这里是所有微软提供的外设的驱动程序代码,按照外设种类进行存放。很多驱动程序都需要借助与这里的代码才可以形成最终的驱动,该部分驱动代码是与硬件平台无关的,比如很多流接口驱动的MDD部分可以在此找到。但是这里的代码只是提供参考,也可以根据自己的平台进行修改,不过建议将其拷贝到自己的bsp中进行修改。在驱动开发的过程中,该目录的代码非常有参考价值。

    5SDK文件夹

    SDK\BIN\I386下存放了构建系统可能用到的工具。而四个子目录ARMMIPSSH X86分别是针对Windows CE所支持的四个平台的C/C++与汇编语言的编译器。

    6BSP目录结构

       WinCE系统开发很大一部分都是关于BSP的,这里归结一下BSP中的目录结构。BSP目录一般的存放路径为%_WINCEROOT%\%_PLATFORM%\SMDK6410,其中SMDK6410即为BSP的名字。BSP下的目录结构主要如下:

参考资料:

WINCE600的目录组织及PQOAL

Platform Builder之旅(三)--------------------作者:付林林
何宗键老师的《Windows CE嵌入式系统》