Share via


PLATFORM Directory (Compact 7)

3/12/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

   BSPTEMPLATE

   <HW-Platform>

      CATALOG

      CESYSGEN

      FILES

      SRC

      TEST

      TOOLS

The PLATFORM directory contains three 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 BSPTEMPLATE directory. Contains the BSP Template, which provides the minimal functionality needed to implement a BSP component, such as the OAL, KITL (Kernel Independent Transport Layer), and bootloader. This directory also contains tutorials on various aspects of BSP creation and usage.
  • 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.

MIPS

Contains:

  • MIPS processor-specific OAL code.
  • Include files that are common to all MIPS CPUs.
  • CPU OAL code required for the MIPS32 processor.
  • Cache and interrupt routines that are common to MIPS-based hardware platforms.

In addition, contains a COMMON directory, which contains:

  • PROFILER. Contains the profiler module routines that are common for all MIPS CPUs.
  • TIMER. Contains the timer routines that are common for all MIPS CPUs.
    Contains the directory BASE, which contains implementations of the timer module functions for all timers in MIPS CPUs.
    Contains implementations of the timer module functions for fixed-tick timers in MIPS CPUs. Contains code for any timer in idle mode in MIPS CPUs. Contains implementations of the timer module functions for variable-tick timers in MIPS CPUs.

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.

Directories in BSPTEMPLATE

The BSPTEMPLATE directory contains the same directory types as the <HW-Platform> directories (see Directory Types within <HW-Platform> Directories). It also contains the INSTRUCTIONS and TUTORIAL directories, which describe how to clone and modify the templates.

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