|
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> |