platform Directory (Compact 2013)

3/26/2014

The PLATFORM directory contains high-level directories that are specific to individual board support packages (BSPs), including cloned BSPs that you create.

PLATFORM Directory Structure

The following tree structure represents the high-level structure of the PLATFORM directory. Click a directory name for details on that directory.

PLATFORM

   COMMON

      SRC

   <HW-Platform>

      CATALOG

      CESYSGEN

      FILES

      SRC

      TEST

      TOOLS

The PLATFORM directory contains two directory types:

  • A COMMON directory. Contains OEM adaptation layer (OAL) source code, including routines that are common to all BSPs and routines that are specific to a CPU or system-on-a-chip (SOC). For information on the COMMON directory, see Directories within COMMON.
  • A directory for each BSP that you specified when you installed Windows Embedded Compact. The processor-specific directories all have the same basic structure and contain one or more of the same six directory types. The placeholder <HW-Platform> represents these platform-specific directories, which contain memory-mapped configuration files, include files that define the memory layout for the hardware platform, any code that includes board descriptions or the board layout, and board-level customization code. Each <HW-Platform> directory contains the code you need to build the boot loader and the OS image.
    For information on the <HW-Platform> directories, see Directory Types within <HW-Platform> Directories.

Directories within COMMON

The COMMON directory contains only one directory, SRC, which contains OAL source code, including routines that are common to all BSPs and routines for specific CPUs or SOCs.

The SRC directory is divided by CPU architecture. Each CPU architecture directory is further divided into more specific architecture information, such as the CPU family or the CPU manufacturer. As you navigate down the directory tree, the directories become more CPU architecture-specific. For example, the ARM\ARM920T tree contains cache and data abort routines for the ARM920T CPU, and the ARM\ARM926 tree contains the cache routines for the ARM926 CPU. Code can also be inherited from the directories that are higher up in the tree.

Although you might want to override some of the code in the COMMON directory for performance reasons, overall, the code works without modification. You do not have to copy any of the code in this directory unless necessary. Typically, you include the library from the particular location in the COMMON directory in your %_WINCEROOT%\Platform\<Hardware Platform Name> sources file.

The following table describes the directories within COMMON\SRC.

Directory

Description

ARM

Contains the ARM processor-specific OAL code. Contains two subdirectories:

  • <ARM Processor Name>. Contains all the CPU OAL code that a specific ARM processor requires. Contains the abort and cache routines that are specific to the ARM CPU model.
  • COMMON. Contains boot routines, cache routines, and memory routines that are common for all ARM CPUs. The memory routines are used for translating physical addresses to physical addresses, and vice versa. Also contains miscellaneous routines that are common for all ARM CPUs and routines necessary for vector floating-point (VFP) support.

COMMON

Contains OAL code that is generic across all CPU architectures.

INC

Contains all the header files that export OAL components.

SOC

Contains a collection of SOC and CPU or chipset-level peripheral drivers.

The SOC directory also contains directories that provide the drivers specific to a SOC or chipset. These directories are named in the following format:

<SOC or Chipset Model>_<vendor name>_<version>.

You can port the chipset driver for a core peripheral to any new hardware platform environment that makes use of the SOC or chipset without modification.

OEMs can ship code in this directory structure. Use this directory structure for chipset-specific code which is fit for reuse.

X86

Contains the x86 processor-specific OAL code.

Contains a COMMON directory that contains components common to all x86 platforms. The COMMON directory contains the following directories:

  • CACHE. Cache routines.
  • INTR. Interrupt code.
  • IO. IO routines.
  • IOCTL. IO controls (IOCTLs).
  • KITL. KITL code.
  • MEMORY. Memory.
  • MP SUPPORT. Code for multiprocessor support.
  • OTHER. Code for debugging and for booting directly into NK.exe.
  • POWER. Power-management routines.
  • QPC. Routines to query the performance counter.
  • RTC. Real-time clock routines.
  • STARTUP. Code for the kernel to execute at
  • TIMER. Timer routines.

Directory Types within &lt;HW-Platform&gt; Directories

The PLATFORM directory contains a directory for each BSP that you specified when you installed Windows Embedded Compact, indicated by the placeholder <HW-Platform>. The following table describes the directory types contained within the processor-specific directories.

Directory

Description

CATALOG

Contains the Platform Builder catalog pbcxml file.

CESYSGEN

Contains a makefile for filtering any of the configuration files in the FILES directory.

FILES

Contains project-specific files for building the run-time image, initial directory structure, initialized databases, and initialized registry.

SRC

Contains source code for the hardware platform. Contains the following directories:

  • BOOTLOADER. Contains all the boot loader-specific code.
  • COMMON. Contains all the code common to the boot loader and OAL.
  • DRIVERS. Contains the hardware platform-specific BSP drivers.
  • INC. Contains hardware platform-specific include files.
  • KITL. Contains the hardware platform-specific KITL code.
  • OAL. Contains the hardware platform-specific OAL code.

TOOLS

Contains platform-specific compiler information, drivers, and utilities. This directory is not present for all platforms.

See Also

Reference

Directory Structure Overview