Adaptation/GUID-FCCF9634-0610-5199-A37A-CF2EC9B73261.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-FCCF9634-0610-5199-A37A-CF2EC9B73261" xml:lang="en"><title>Adaptation Quick Start</title><shortdesc>Adaptation involves extending software on the device to
       
    13 support a given hardware component. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <section id="GUID-BC149020-EE8D-55ED-8254-75B70A4A1D3E"><title>Adaptation
       
    15 environment</title> <p>The functionality of a particular hardware
       
    16 technology is enabled when an interface to the standard for that technology
       
    17 is defined. </p> <p>The hardware is enabled when the following exist: </p> <ul>
       
    18 <li id="GUID-70F0057C-32FA-5AC5-922B-9FA853950490"><p>LDD – Logical
       
    19 Device Driver </p> </li>
       
    20 <li id="GUID-554F5C6F-F718-5FFA-8685-31D8322A513C"><p>PDD – Physical
       
    21 Device Driver </p> </li>
       
    22 </ul> </section>
       
    23 <section id="GUID-8298F0E2-1811-5C08-8C08-F6A5754EA678"><title>Kernel
       
    24 extensions</title> <p>Kernel extensions provide additional functionality
       
    25 in the kernel and run with the same access rights and permissions
       
    26 as the rest of the kernel. </p> <p>Adaptation device drivers (LDD/PDD)
       
    27 require low-level access to the device and implementing them as a
       
    28 kernel extension gives them this access. </p> <p><b>LDD</b> </p> <p>Each LDD has the following features: </p> <ul>
       
    29 <li id="GUID-7549B5B5-7E7C-5F7C-9A2F-81EB8FB7F9E7"><p>the LDD is a
       
    30 packaged DLL </p> </li>
       
    31 <li id="GUID-5A57648F-9657-5261-8068-4D7F946F1C04"><p>provides user
       
    32 side functionality </p> </li>
       
    33 <li id="GUID-740E0B4E-A993-577E-ACF4-2EDC8E8DE834"><p>loaded into
       
    34 the kernel </p> </li>
       
    35 <li id="GUID-0991A098-C7DC-5335-8AF1-567BD9C0EEF8"><p>calls a function
       
    36 that opens a <xref href="GUID-A3CC1D95-4681-3349-A67C-F113A614041D.dita"><apiname>DLogicalChannel</apiname></xref>  </p> </li>
       
    37 <li id="GUID-5BA91833-A9DC-5C07-B3CB-769FD2B4758C"><p>opens an <xref href="GUID-6FBFA078-8253-3E24-B1F8-5F75E86C3066.dita"><apiname>RBusLogicalChannel</apiname></xref>  </p> </li>
       
    38 <li id="GUID-0BB01A79-8D94-5BDB-BE4C-7B1A015950EE"><p>allows user
       
    39 code to communicate with the hardware and send commands to control
       
    40 the hardware </p> </li>
       
    41 <li id="GUID-9A42F726-DBF3-5559-A2D9-867B293D7A44"><p>defines an abstract
       
    42 class that must be implemented in the PDD </p> </li>
       
    43 </ul> <p>Mandatory – there must be one LDD for each hardware component. </p> <p id="GUID-1097C454-8236-5291-88FB-92F979FB3B78"><b>PDD</b> </p> <p>PDDs have the following features: </p> <ul>
       
    44 <li id="GUID-83481281-B6B0-50D2-A8B0-EDF6FDF7632B"><p>the PDD is a
       
    45 packaged DLL </p> </li>
       
    46 <li id="GUID-3B0AAFEC-786C-5003-B71A-B686C49034B4"><p>provides access
       
    47 to hardware </p> </li>
       
    48 <li id="GUID-E23527A0-4082-51E3-A3B1-200952C7B071"><p>loaded into
       
    49 the kernel </p> </li>
       
    50 <li id="GUID-9436F11E-6E53-5990-A2D5-625AFA815FD9"><p>calls a function
       
    51 that opens a physical channel </p> </li>
       
    52 <li id="GUID-285B2015-34B2-5BC5-8903-2BBE47E35CF3"><p>receives control
       
    53 commands and other communications through its interface with the LDD </p> </li>
       
    54 <li id="GUID-E3BA0A9E-4856-5831-86E3-6BC7702C7CC7"><p>may be an extension
       
    55 to an existing device driver </p> </li>
       
    56 </ul> <p>Mandatory – there must be one PDD for each hardware platform
       
    57 for each hardware component. </p> </section>
       
    58 <section id="GUID-A20284FD-D793-5650-94DF-D4DCB6BC0CC2"><title>Using
       
    59 Kernel extensions</title> <p>A Kernel Extension is additional functionality
       
    60 that runs as part of the kernel. </p> <p>For example, access to the
       
    61 SD Card is provided through a kernel extension. </p> <p><b>Adaptation ready architecture</b> </p> <p>Adaptation ready architecture
       
    62 means the following have been created: </p> <ul>
       
    63 <li id="GUID-90B150BC-C18A-5578-AC86-54D4525D28E4"><p>The LDD </p> </li>
       
    64 <li id="GUID-73DF2D9B-E53A-51C8-93C5-60AC883DDE18"><p>The abstract
       
    65 class that must be implemented in the PDD </p> </li>
       
    66 <li id="GUID-82E50357-5AB6-5975-9630-A9C7382F2FBB"><p>The interface
       
    67 to the user code </p> </li>
       
    68 <li id="GUID-CBA9DF88-CF53-519D-A792-3DBD3B548F25"><p>Any optional
       
    69 kernel extension DLLs </p> </li>
       
    70 <li id="GUID-D887C2E9-04FC-504F-A09A-5D9227AD4AEC"><p>Optional reference
       
    71 implementation PDD </p> </li>
       
    72 </ul> <p id="GUID-C10B0527-A1E1-54B0-A4B6-E4E991FD24B8"><b>Adaptation options</b> </p> <p>There are broadly two types of hardware adaptation: </p> <ul>
       
    73 <li id="GUID-716ACF8A-278F-5FDA-A27A-2634EB6F24E5"><p>New hardware </p> </li>
       
    74 <li id="GUID-6E1419FA-99EB-5183-A1E3-5F998995D96E"><p>Updated hardware </p> </li>
       
    75 </ul> <p> <i>New hardware</i>  </p> <p>The entire adaptation architecture,
       
    76 as described above, must be defined. This includes: </p> <ul>
       
    77 <li id="GUID-12A35E7B-3F03-5D4D-83C9-EA61BAD0D193"><p>Defining an
       
    78 abstract class that the PDD creators are required to implement, creating
       
    79 an LDD and so on. </p> </li>
       
    80 <li id="GUID-EA64CF53-61C4-531D-89C2-6B580A6E75C4"><p>The architecture
       
    81 enables the new hardware. </p> </li>
       
    82 <li id="GUID-0AA5340B-647E-535C-B183-D0E886017093"><p>The architecture
       
    83 allows hardware manufacturers to create their own implementation (PDD). </p> </li>
       
    84 </ul> <p>New hardware adaptation will be supported with a reference
       
    85 implementation, which will go a long way towards guiding the device
       
    86 developer’s efforts. </p> <p> <i>Updated hardware</i>  </p> <p>Updated
       
    87 hardware which provides new or modified functionality requires a new
       
    88 PDD to be created to either extend the functionality of the existing
       
    89 PDD or to replace the existing PDD. </p> <p>In most cases the new
       
    90 functionality of the hardware will be enabled by extending the architecture
       
    91 with a new extension PDD or be writing a new PDD that incorporates
       
    92 all the existing and new functionality. </p> <p>There are situations
       
    93 where the entire adaptation architecture needs to be extended or redesigned,
       
    94 such as when a hardware component is extended in a way that was not
       
    95 expected. The Bluetooth baseband radio being extended to provide Bluetooth,
       
    96 802.11, and FM radio from the same hardware component, for example,
       
    97 will require a redesign of the adaptation architecture so the LDD
       
    98 knows about 802.11 and FM as well as Bluetooth. Such a redesign should
       
    99 ensure older Bluetooth PDDs will still work while extending the possible
       
   100 PDDs that will work with the LDD to include Bluetooth, 802.11, FM
       
   101 radio, and a combination of the above. </p> </section>
       
   102 <section id="GUID-AC29A1E3-4FAF-41EC-A08A-CCCE8B28AB02"><title>Where
       
   103 to go next</title> <p>Adaptation is described in more detail in these
       
   104 documents:</p><ul>
       
   105 <li><xref href="GUID-D5EE0A17-2246-4CB3-9CE5-538F1E01F8D4.dita">What is
       
   106 Adaptation?</xref></li>
       
   107 <li><xref href="GUID-95BD3650-08CB-407D-969E-DFDB39B2FEFC.dita">What is
       
   108 a Platform Service?</xref></li>
       
   109 <li><xref href="GUID-C9923DF3-8425-4EB4-8066-FB5A92A85F5B.dita">Adaptation
       
   110 Process Guide</xref></li>
       
   111 </ul> </section>
       
   112 </conbody></concept>