Adaptation/GUID-D5EE0A17-2246-4CB3-9CE5-538F1E01F8D4.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
permissions -rw-r--r--
Initial contribution of the Adaptation Documentation.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-D5EE0A17-2246-4CB3-9CE5-538F1E01F8D4" xml:lang="en"><title>What is Adaptation?</title><shortdesc>Provides a brief overview of hardware adaptation .</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-66019FCA-913D-4BC1-B823-038A3CCB8602"><title>Adaptation</title><p>Adaptation is the process of adding a hardware or a platform service
to the device, it includes:</p><ul>
<li><p>the required hardware</p></li>
<li><p>a list of device drivers to be written</p></li>
<li><p>the list of required Platform services</p></li>
<li><p>the process of porting the operating system to the hardware</p></li>
<li><p>integration of peripherals possibly created by third parties</p></li>
</ul><p>Base porting and device drivers involve platform specific
implementation on hardware.</p></section>
<section id="GUID-F6B4ED47-12F9-450D-AE96-930939382C7A"><title>The
Adaptation Layer and Platform services</title><p>The adaptation layer
interfaces between the operating system and hardware: it is a hardware
abstraction layer extended with modular functionality. It is partitioned
into platform services and client interfaces. The hardware manufacturers
implement the platform services in platform-specific instructions.
The device driver writers use the client interface in their code to
control various hardware. </p><fig id="GUID-3C3C24BE-B6B9-4738-83A4-DF05C3CDC19C">
<title>Adaptation Layer, Platform services and hardware</title>
<image href="GUID-2C312536-2410-42D7-B976-F7CF99492DEA_d0e344_href.png" placement="inline"/>
</fig><p>The purpose of Platform services:</p><ul>
<li><p> to make porting easier,</p></li>
<li><p> to enable hardware  vendors to supply standard solutions,
and</p></li>
<li><p> to create a common interface for use by chipset vendors, phone
vendors and peripheral vendors.</p></li>
</ul><p>The simplest Platform services are sets of APIs running in
kernel space and corresponding to discrete items of hardware. Other
Platform services form part of frameworks which may extend into user
space and higher levels of the operating system. Some Platform services
interact with other Platform services within the adaptation layer,
forming a logical stack which may cross the boundary between adaptation
layer and operating system at several points. A Platform service is
not necessarily implemented on hardware: some are implemented wholly
or partly as device specific software.</p><p>Implementers are provided
with:</p><ul>
<li><p>the APIs to be  implemented, with an explanation of the intended
functionality</p></li>
<li><p>information about the associated framework and stack if appropriate</p></li>
<li><p>a statement of any associated standards and protocols</p></li>
<li><p>information about the tools required</p></li>
<li><p> tests to prove the implementation once it has been written</p></li>
</ul>They are sometimes also given a reference implementation.</section>
</conbody></concept>