Partager via


Production-Quality OAL (PQOAL) (Compact 7)

3/12/2014

Before you start porting your BSP, decide whether to transition the structure of your code to production-quality OAL (PQOAL). Transitioning your code takes a few additional hours to complete but is worth the investment for code that you intend to reuse in other designs. For more information, see Production-Quality OAL Components.

To prepare your BSP for migration

  1. Make a copy of the platform that you are porting by making a new folder, such as %_WINCEROOT%\platform\<Hardware Platform Name>-Original. Copy the platform into the new folder and then delete the files in the \<Hardware Platform Name>\lib and \<Hardware Platform Name>\target folders.

  2. Run the blddemo -q command. The build will fail because you have not finished porting the BSP, but the command will create libraries that you need, like nkldr.lib and oemmain.lib.

  3. Create the following new folders under %_WINCEROOT%\platform\<Hardware Platform Name>:

    • src\kitl
    • src\oal
    • src\oal\oallib
    • src\oal\oalexe
  4. Edit the dirs file in %_WINCEROOT%\platform\<Hardware Platform Name>\src to include the following lines:

    DIRS= \
      Kitl \
      Oal
    
  5. Edit the src\dirs file to remove the kernel from the list.

  6. Create a dirs file in %_WINCEROOT%\platform\<Hardware Platform Name>\oal containing the following lines:

    DIRS= \
      OalLib \
      OalExe \
    
  7. Move all your BSP code and build files from src\kernel to the src\oal folder by using the following steps:

    move src\kernel\oal -> src\oal\oallib
    move src\kernel\kern -> src\oal\oalexe [*]
    move src\kernel\kernkitl -> src\kitl [*]
    

    Note

    In Windows Embedded CE 6.0, you do not need to build a profiling and a non-profiling version of the OAL. If your OAL supports profiling, always include it in the final or shipping image. The kernel detects and uses OAL profiling if it is available. For more information, see Implementing Profiling Support in the OAL.

  8. Delete the following folders:

    • src\kernel
    • src\kernel\oal\
    • src\kernel\kern
    • src\kernel\kernkitl
    • src\kernel\kernkitlprof

See Also

Concepts

Separate the Kernel from OAL and KITL