Implementing Profiling Support in the OAL (Windows Embedded CE 6.0)


In Windows Embedded CE 6.0, it is no longer necessary to build a profiling OAL over a non-profiling OAL. If your OAL supports profiling, you should always include it in the final or shipping image. Profiling is a very useful tool for debugging devices in the field.

Do not add the profiler to shipping devices. The goal is to avoid performance and memory loss due to the profiler.

To switch between a non-profiling run-time image and profiling run-time image, simply set IMGPROFILER=1 and remake the image. KernProf.dll will detect OAL profiling support and use it if it is available.

This means that the build target KernKitlProf.exe has no equivalent in Windows Embedded CE 6.0. OEMs only need to build Oal.exe, or OalKitl.exe if KITL is statically-linked. If your OAL supports profiling, you can simply initialize the following function pointers in OEMInit:

g_pOemGlob->pfnProfileTimerEnable = OEMProfileTimerEnable;

g_pOemGlob->pfnProfileTimerDisable = OEMProfileTimerDisable;

Community Additions