Adaptation/GUID-C9923DF3-8425-4EB4-8066-FB5A92A85F5B.dita
changeset 15 307f4279f433
equal deleted inserted replaced
14:578be2adaf3e 15:307f4279f433
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-C9923DF3-8425-4EB4-8066-FB5A92A85F5B" xml:lang="en"><title>Adaptation Process Guide</title><shortdesc>Adaptation is the process of porting a platform on to a
       
    13 new hardware configuration. The existing process requires developers
       
    14 to write new hardware abstractions for any changes in the hardware
       
    15 configuration. Platform services provide a simple standard interface
       
    16 that reduces the adaptation time for a given hardware component.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    17 <section id="GUID-2CD8042D-F591-430B-8A07-B22502C908DD"><title>Hardware </title><p>A hardware component can be added to introduce a new feature or
       
    18 create a new variant of an existing feature. Mobile phones are developed
       
    19 with various form factors, a new variant is created for each form
       
    20 factor. </p><p>A particular new piece of hardware may require several
       
    21 platform services to be used to support all the functionality of that
       
    22 hardware. A camera may provide photos and video streams and require
       
    23 the use of a GPIO platform service to configure the camera resolution,
       
    24 to set focal distance, or to trigger the shutter.</p><fig id="GUID-D88555D3-7BC1-49AA-BC14-0FAE8BDE0475">
       
    25 <title>Basic blocks of an adaptation</title>
       
    26 <image href="GUID-5392507E-45FF-4B20-B257-E58E23685295_d0e410_href.png" placement="inline"/>
       
    27 </fig></section>
       
    28 <section id="GUID-90AED82D-2F1B-4FF4-8484-EDF00743A58A"><title>Platform
       
    29 services</title><p>Platform services are intended to be platform agnostic
       
    30 and aim to reduce the porting time of hardware adaptation from one
       
    31 platform to other. Platform services can be broadly classified into
       
    32 two categories:</p><ol>
       
    33 <li id="GUID-AC4E61B7-7124-46C6-A4CE-D79AAE733CD6"><p>Platform services
       
    34 that provide a service to other platform services.</p></li>
       
    35 <li id="GUID-8F6EF6E1-C8A5-4470-A913-54DB04FB833E"><p>Platform services
       
    36 that use various kernel services and other platform services to drive
       
    37 a hardware component.</p></li>
       
    38 </ol><fig id="GUID-BAF6CE9B-80C3-4BC2-B495-FB24F871ED00">
       
    39 <title> Types of platform service</title>
       
    40 <image href="GUID-14B65BE7-A166-48B6-B43D-DFF267F87F9E_d0e433_href.png" placement="inline"/>
       
    41 </fig><p>The adaptation developer should identify the platform services
       
    42  required to implement the new hardware. Some platform services may
       
    43 already be implemented for other hardware and so it may be a simple
       
    44 matter of reusing another implementation with minor modifications
       
    45 for your particular component.</p></section>
       
    46 <section id="GUID-39421865-C5D6-4FA6-8821-DE09FA1F4837"><title>Hardware
       
    47 configurations</title><p>The adaptation will use certain hardware
       
    48 configurations and some of the configuration parameters can be reused.
       
    49 Reusable hardware configurations can be stored in a repository called
       
    50 the Hardware Configuration Repository (HCR). The HCR allows the configurations
       
    51 to be stored in the repository during various stages of the device
       
    52 creation. The HCR platform service provides APIs to the kernel and
       
    53 device drivers to read the values stored in the repository. For more
       
    54 information, see the <xref href="GUID-14F5433A-16F4-4F01-8A7B-C8E26F46C98B.dita">HCR Platform Service</xref> documentation.</p></section>
       
    55 <section id="GUID-6E9C4D9C-E0ED-44E8-84BE-49383DA26A15"><title>Implementation</title><p>The adaptation developer needs to know the specifications to implement
       
    56 a hardware on the device. The implementation process involves the
       
    57 identification of other services that must be implemented to support
       
    58 a hardware. The other services may be provided by other platform services,
       
    59 kernel extensions or drivers of other hardware components.</p></section>
       
    60 <section id="GUID-1AE8935F-E212-4D13-B7D7-47A5C7D14101"><title>Platform
       
    61 service compliance</title><p>Once the hardware component is implemented,
       
    62 the developer must ensure that the implementation conforms to the
       
    63 relevant platform service compliance testing. If the test fails then
       
    64 the adaptation code should be modified until the tests pass. </p></section>
       
    65 <section id="GUID-1E15BAC5-45DC-4550-AFC3-5CF72B72E2E5"><title>Adaptation
       
    66 process</title><p>The adaptation process can be summarized as:</p><ol>
       
    67 <li id="GUID-14817153-B03B-40EE-BACB-EAF2D66D3575"><p>Identify the
       
    68 hardware</p></li>
       
    69 <li id="GUID-3D250941-5BC5-4310-AB66-FFE520D381FB"><p>Identify the
       
    70 platform services required to implement the hardware component</p></li>
       
    71 <li id="GUID-A66BEC8A-7096-4506-9F5D-30AB793E165E"><p>Identify the
       
    72 dependencies</p></li>
       
    73 <li id="GUID-F381E27C-27B0-44D1-9592-350F73C1C63F"><p>Identify the
       
    74 required interfaces to be implemented</p></li>
       
    75 <li id="GUID-FD30A917-2A08-4575-8FE5-D8A50FF0779A"><p>Implement the
       
    76 required interfaces</p></li>
       
    77 <li id="GUID-F161C4E8-922F-41B1-A1BF-F9AB4B1339CA"><p>Build and test
       
    78 the interfaces</p></li>
       
    79 <li id="GUID-B7747558-12DD-420E-824C-7B6C0524E781"><p>Modify the implementation,
       
    80 if required</p></li>
       
    81 </ol><fig id="GUID-F0B99DE7-32BF-4C55-B3A4-5632D89DAF39">
       
    82 <title>Adaptation process flowchart</title>
       
    83 <image href="GUID-04FF36CE-DEFA-45DC-BAAF-77F3BB649AFF_d0e499_href.png" placement="inline"/>
       
    84 </fig></section>
       
    85 </conbody><related-links>
       
    86 <link href="GUID-D5EE0A17-2246-4CB3-9CE5-538F1E01F8D4.dita"><linktext>What
       
    87 is Adaptation?</linktext></link>
       
    88 <link href="GUID-95BD3650-08CB-407D-969E-DFDB39B2FEFC.dita"><linktext>What
       
    89 is a Platform Service?</linktext></link>
       
    90 <link href="GUID-A74F0245-1A37-41C8-B0E9-63AF858EE4B6.dita"><linktext>Platform
       
    91 Services</linktext></link>
       
    92 </related-links></concept>