diff -r 578be2adaf3e -r 307f4279f433 Adaptation/GUID-FCCF9634-0610-5199-A37A-CF2EC9B73261.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Adaptation/GUID-FCCF9634-0610-5199-A37A-CF2EC9B73261.dita Fri Oct 15 14:32:18 2010 +0100 @@ -0,0 +1,112 @@ + + + + + +Adaptation Quick StartAdaptation involves extending software on the device to +support a given hardware component. +
Adaptation +environment

The functionality of a particular hardware +technology is enabled when an interface to the standard for that technology +is defined.

The hardware is enabled when the following exist:

    +
  • LDD – Logical +Device Driver

  • +
  • PDD – Physical +Device Driver

  • +
+
Kernel +extensions

Kernel extensions provide additional functionality +in the kernel and run with the same access rights and permissions +as the rest of the kernel.

Adaptation device drivers (LDD/PDD) +require low-level access to the device and implementing them as a +kernel extension gives them this access.

LDD

Each LDD has the following features:

    +
  • the LDD is a +packaged DLL

  • +
  • provides user +side functionality

  • +
  • loaded into +the kernel

  • +
  • calls a function +that opens a DLogicalChannel

  • +
  • opens an RBusLogicalChannel

  • +
  • allows user +code to communicate with the hardware and send commands to control +the hardware

  • +
  • defines an abstract +class that must be implemented in the PDD

  • +

Mandatory – there must be one LDD for each hardware component.

PDD

PDDs have the following features:

    +
  • the PDD is a +packaged DLL

  • +
  • provides access +to hardware

  • +
  • loaded into +the kernel

  • +
  • calls a function +that opens a physical channel

  • +
  • receives control +commands and other communications through its interface with the LDD

  • +
  • may be an extension +to an existing device driver

  • +

Mandatory – there must be one PDD for each hardware platform +for each hardware component.

+
Using +Kernel extensions

A Kernel Extension is additional functionality +that runs as part of the kernel.

For example, access to the +SD Card is provided through a kernel extension.

Adaptation ready architecture

Adaptation ready architecture +means the following have been created:

    +
  • The LDD

  • +
  • The abstract +class that must be implemented in the PDD

  • +
  • The interface +to the user code

  • +
  • Any optional +kernel extension DLLs

  • +
  • Optional reference +implementation PDD

  • +

Adaptation options

There are broadly two types of hardware adaptation:

    +
  • New hardware

  • +
  • Updated hardware

  • +

New hardware

The entire adaptation architecture, +as described above, must be defined. This includes:

    +
  • Defining an +abstract class that the PDD creators are required to implement, creating +an LDD and so on.

  • +
  • The architecture +enables the new hardware.

  • +
  • The architecture +allows hardware manufacturers to create their own implementation (PDD).

  • +

New hardware adaptation will be supported with a reference +implementation, which will go a long way towards guiding the device +developer’s efforts.

Updated hardware

Updated +hardware which provides new or modified functionality requires a new +PDD to be created to either extend the functionality of the existing +PDD or to replace the existing PDD.

In most cases the new +functionality of the hardware will be enabled by extending the architecture +with a new extension PDD or be writing a new PDD that incorporates +all the existing and new functionality.

There are situations +where the entire adaptation architecture needs to be extended or redesigned, +such as when a hardware component is extended in a way that was not +expected. The Bluetooth baseband radio being extended to provide Bluetooth, +802.11, and FM radio from the same hardware component, for example, +will require a redesign of the adaptation architecture so the LDD +knows about 802.11 and FM as well as Bluetooth. Such a redesign should +ensure older Bluetooth PDDs will still work while extending the possible +PDDs that will work with the LDD to include Bluetooth, 802.11, FM +radio, and a combination of the above.

+
Where +to go next

Adaptation is described in more detail in these +documents:

    +
  • What is +Adaptation?
  • +
  • What is +a Platform Service?
  • +
  • Adaptation +Process Guide
  • +
+
\ No newline at end of file