Share via


BSP Code Organization (Compact 7)

3/12/2014

The BSP code in Windows Embedded Compact 7 is organized to take advantage of the similarities between different hardware platforms. Whereas OAL is a general term for the abstraction layer between the hardware and the kernel, production-quality OAL (PQOAL) describes the modularization of the OAL code into reusable libraries. For example, there are separate libraries to support cache, interrupts, Ethernet, KITL, and so on. The PQOAL model also separates non-hardware-specific code from code that is unique to CPU architectures and specific hardware platforms. This organization enables code reuse between different hardware platforms, making it easier to maintain. For more information about PQOAL libraries, see Production-Quality OAL Components.

The default root directory of Windows Embedded Compact 7, which is typically c:\WINCE700, is referred to as %_WINCEROOT% in files used by the build process. The %_WINCEROOT%\Platform directory contains the BSP code. In compliance with the PQOAL model, the directories are organized into the following groups:

  • Non-hardware-specific
  • CPU architecture
  • Specific CPU
  • System-on-a-chip (SOC)
  • Hardware platform

The Platform directory also contains a directory called BSPTemplate, which contains commented BSP stub code and tutorials that can be helpful when you are learning about BSPs.

In this developer guide, we refer you to the source code located in the directories in the table below. The directories are listed from the most common to the most specific. The last column of the table contains an example for a BSP called 3DS_iMX27, which is a BSP that Windows Embedded Compact 7 provides. The 3DS_iMX27 BSP is for a hardware platform that uses an SOC with an ARM926 CPU.

Code type Location within the %_WINCEROOT%\Platform directory Example locations for 3DS_iMX27 BSP

Code that is not hardware-specific.

Common\Src\Common

Common\Src\Common

Code common to a CPU architecture.

Common\Src\<CPU Architecture Name>\Common

Common\Src\ARM\Common

Code common to a specific CPU.

Common\Src\<CPU Architecture Name>\<CPU Name>

Common\Src\ARM\ARM926

Code common to a specific SOC.

Common\Src\SOC\<SOC Name>

Common\Src\SOC\iMX27_MS_v2

Code that is unique to a specific hardware platform. A <Hardware Platform Name> directory exists for each installed BSP.

<Hardware Platform Name>\Src

3DS_iMX27\Src

For more information about all of the subdirectories in %_WINCEROOT%\Platform, see PLATFORM Directory.

See Also

Concepts

BSP Code Overview