Symbian3/PDK/Source/GUID-A849B353-76E5-5AD6-851A-AF18C66AED48.dita
changeset 1 25a17d01db0c
child 3 46218c8b8afa
equal deleted inserted replaced
0:89d6a7a84779 1:25a17d01db0c
       
     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-A849B353-76E5-5AD6-851A-AF18C66AED48" xml:lang="en"><title>Generic
       
    13 Driver Support Overview</title><shortdesc>Generic driver related concepts in Symbian platform. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <section id="GUID-DBF1C87D-7360-54B7-8658-B6659BF77F06-GENID-1-7-1-14-1-1-12-1-4-1-3-1"><title>Architecture</title> <p>The
       
    15 role of a generic device driver is to give a user-side application access
       
    16 to peripheral resources without exposing the operation of the underlying hardware.
       
    17 A device driver is effectively an add-on to the kernel, and implements a polymorphic
       
    18 interface defined by the kernel. It resides on the kernel side and therefore
       
    19 has the same access rights, uses the kernel heap and links to the kernel,
       
    20 so that it can call kernel functions. Typically, hardware indicates completion
       
    21 of an operation by generating an interrupt. This is handled by an Interrupt
       
    22 Service Routine (ISR) provided by the driver. An ISR is restricted in what
       
    23 it can do, and must complete quickly. So it is normal for it to schedule a
       
    24 Delayed Function Call (DFC) which at some later time runs in the context of
       
    25 a kernel-side thread. Device driver services are generally asynchronous. A
       
    26 device driver includes: </p> <ul>
       
    27 <li id="GUID-DE0F5D5C-B3C2-547D-BE5B-EA80FE290A20"><p>A user-side API </p> </li>
       
    28 <li id="GUID-33122E07-9C29-5138-8FBD-D8B34195091D"><p>Two kernel-side DLLs,
       
    29 each of which exports a single factory function at ordinal 1 to create the
       
    30 necessary kernel-side objects, namely </p> <ul>
       
    31 <li id="GUID-33F58387-8EB1-559B-9410-F06F76DA436C"><p>Logical device driver
       
    32 DLL with a file name extension <codeph>.ldd</codeph> </p> </li>
       
    33 <li id="GUID-ED88F823-7883-5BEC-8E50-728F59901D05"><p>Physical device driver
       
    34 DLL with a file name extension .pdd </p> </li>
       
    35 </ul> </li>
       
    36 </ul> </section>
       
    37 <section id="GUID-A51AA612-F9DC-4A57-A110-BABB0002B624"><title>Components</title> <p>The
       
    38 following components make up the generic driver support collection: </p> <ul>
       
    39 <li id="GUID-10D21882-F873-5A7A-BF95-1099CF2D1105"><p>Generic Board Support
       
    40 Packages </p> </li>
       
    41 <li id="GUID-3537A6C7-9DA1-57D8-9C41-BA15A7647979"><p>Media Drivers </p> </li>
       
    42 <li id="GUID-0DDB7C2E-2231-5C12-9650-5BEA71A21A89"><p>SD Card 3C Driver </p> </li>
       
    43 <li id="GUID-60CCAEA4-0260-55DB-AD7E-4565C9866A9F"><p>SD Card 4C Driver </p> </li>
       
    44 <li id="GUID-D196EB31-A9A9-591D-B193-D51A51CBF36C"><p>System On Chip ASSP </p> </li>
       
    45 </ul> </section>
       
    46 <section id="GUID-B6DCB613-80AF-416C-A8E2-3321CE02C1C6"><title>Using Generic
       
    47 Driver Support</title> <ul>
       
    48 <li id="GUID-F905C135-E1B0-5AB1-A131-5136CC4B45F7"><p>Generic Board Support
       
    49 Packages - Generic Board Support Packages provides generic code for DMA framework,
       
    50 power management and digitizer. </p> </li>
       
    51 <li id="GUID-44105C97-F2CD-597C-8645-2A3556B711AE"><p>Media Drivers - The
       
    52 Media Drivers collection provides the physical device drivers, called media
       
    53 drivers, and associated libraries that manage storage media hardware. Some
       
    54 media drivers have platform specific layers that a base port can implement
       
    55 for particular types of storage hardware. </p> </li>
       
    56 <li id="GUID-1A009040-46D7-5BE9-A31E-CECBF3FC0DF4"><p>SD Card 3C Driver -
       
    57 SD Card 3C Driver provides media drivers and generic (PIL) parts of the stack
       
    58 for accessing Secure Digital flash memory cards. </p> </li>
       
    59 <li id="GUID-813297BC-3DC3-519A-9193-EACB6DDFBA2F"><p>SD Card 4C Driver -
       
    60 SD Card 4C Driver provides media drivers and generic (PIL) parts of the stack
       
    61 for accessing 4C type Secure Digital flash memory cards. </p> </li>
       
    62 <li id="GUID-A424393A-EDA6-524A-9117-6AFB8595EF2D"><p>System On Chip ASSP
       
    63 - System On Chip ASSP contains source for common hardware peripherals that
       
    64 may be used by multiple BSPs. </p> </li>
       
    65 </ul><note> 4C and 3C type SD card drivers are split, as they are available
       
    66 under different licenses.</note> </section>
       
    67 </conbody><related-links>
       
    68 <link href="GUID-52371DAB-A231-558C-B3E6-220DAAEE566B.dita#GUID-52371DAB-A231-558C-B3E6-220DAAEE566B/GUID-D25228C5-D51E-54A3-A5D0-0B68A9E8E7C8">
       
    69 <linktext>Logical Device                 Drivers and Generic Driver Support</linktext>
       
    70 </link>
       
    71 </related-links></concept>