Symbian3/PDK/Source/GUID-0E5A241A-19F5-5754-B454-45747A8D80E1.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Fri, 22 Jan 2010 18:26:19 +0000
changeset 1 25a17d01db0c
child 3 46218c8b8afa
permissions -rw-r--r--
Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608

<?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-0E5A241A-19F5-5754-B454-45747A8D80E1" xml:lang="en"><title>SD Card
Overview</title><shortdesc>Description of SD card features available to application developers
and what a device creator must write to provide SD card support.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>SD memory cards (Secure Digital memory cards) are flash-based memory cards
designed to provide secure high capacity data storage. </p>
<p>The SD controller supports the <i>Simplified SD Physical layer specification
version 2.0</i> which is owned by the <i>SD Card Association</i> and the <i>SD
Group</i>. </p>
<p>The SD memory card standard is defined to be protocol forward compatible
with MultiMediaCard version 2.11 and it is possible for a MultiMediaCard to
be inserted into an SD memory card socket and host systems to support both
types of card. </p>
<section id="GUID-AA07DD5E-0DB7-4B0C-8475-7A36E9F600CA"><title>Purpose</title> <p>SD cards are based on MultiMediaCards (MMC)
but with additional functionality detailed below. Symbian platform support
for SD is built on top of the MMC support. This section describes the additional
functionality available to applications using SD cards. This section also
describes the additional work required to support SD cards. </p> </section>
<section id="GUID-E53DD689-D81A-44A1-870B-3ECE796B86F1"><title>Required background</title> <p>You should be familiar with
the following: </p> <ul>
<li id="GUID-390334A3-BC5D-5E90-A114-E44C724DE63B"><p><xref href="GUID-79B2CF91-FB95-5E7C-81CC-235A6A660D88.dita">MMC
Controller</xref>  </p> </li>
<li id="GUID-C1841C2F-9D08-59D4-8183-6B1179D33763"><p> <xref href="http://www.sdcard.org/developers/tech/sdcard/pls/" scope="external">SD Simplified Specification</xref>  </p> </li>
</ul> </section>
<section id="GUID-EC87FA96-C124-43A0-A173-510B8A73FE98"><title>Key concepts and terms</title> <p>An SD card is very similar
to a MultiMediaCard (MMC) but with additional features to support high capacity,
high speed, secure storage. </p> <p>As SD cards are very similar to MMC, you
should read the section on <xref href="GUID-BE6AFD38-5952-537F-848C-C76C8F5FA9BF.dita">MMC
Controller Architecture</xref> before reading the <xref href="GUID-114A23CF-BF8B-54F5-8AF6-FEF007891884.dita">SD
Controller</xref> documentation. </p> </section>
<section id="GUID-C800CBB8-057F-494B-B0B8-95C6DBE13006"><title>Architecture</title> <p>SD support is divided into two parts,
the Platform Independent Layer (PIL) and the Platform Specific Layer (PSL). </p> <p>The
PIL is implemented as an E32 peripheral bus controller - <filepath>EPBUSSD.DLL</filepath> which
is a kernel extension and extends the functionality of the matching MMC library <filepath>EPBUSM.DLL</filepath>.
The <filepath>EPBUSSD.DLL</filepath> library consists of a generic peripheral
bus layer, which is identical to the one used for MMC, and a generic SD card
layer. The SD card layer is a superset of the MMC layer and derives additional
classes for SD cards from the MMC classes. These derived classes support the
additional features found in an SD card. </p> <p>The additional functionality
available in an SD card includes: </p> <ul>
<li id="GUID-832D06C4-3EA0-552B-8002-3CB9CB281BE7"><p>an optional 4-bit wide
data bus </p> </li>
<li id="GUID-04D41D5C-B0E4-51FE-96D8-561EADE20D11"><p>individual SD card addressing </p> </li>
<li id="GUID-B1EA016E-F935-5590-9446-86B0C4825B51"><p>support for card capacities
up to 32Gb </p> </li>
<li id="GUID-741CF2BF-08A3-50C1-B3B8-DF616C9C5B28"><p>revised erase ranges
allowing smaller ranges to be erased from an SD card </p> </li>
<li id="GUID-BCEA1C92-84C5-5571-9AE0-BA7AC76B3003"><p>optional secure data
area - Symbian Platform does not provide support for using the secure data
area on an SD card. </p> </li>
</ul> <p>You, as a device creator, will need to write the PSL. Implementing
the PSL is described in <xref href="GUID-E194A923-99E7-5DC1-BB78-D050A4793A60.dita">SD
Controller PSL Implementation</xref>. </p> </section>
<section id="GUID-D43830D1-D78F-48A7-8467-4E8A52FE403B"><title>Key Classes</title> <p>The classes used for SD cards are SD
specific versions of the classes used for the MMC cards and the main SD-related
are listed here. </p> <table id="GUID-42E860FB-DF1F-5F11-93EA-DAF25C892B9D">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<thead>
<row>
<entry>Class</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p> <xref href="GUID-3DC34D4F-E693-3BF0-B5D6-DF22FCE37340.dita"><apiname>DSDStack</apiname></xref>  </p> </entry>
<entry><p>The SD protocol stack, derived from <xref href="GUID-B5193656-9819-3E00-A335-EEF1726115A5.dita"><apiname>DMMCStack</apiname></xref>.
Uses the star topography to identify each SD card rather than the bus topography
used by MMC. Also handles individual card initialization. </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-B170A819-C146-3DD2-85C2-69CC121A9023.dita"><apiname>TSDCard</apiname></xref>  </p> </entry>
<entry><p>Derived from <xref href="GUID-5B985623-6A0B-3FBB-90BD-367F25CC70E7.dita"><apiname>TMMCard</apiname></xref> but contains the erase sector
size and any special formatting requirements for the SD card. Includes information
from the SD Card Configuration Register (SCR). </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-BFBB02C3-1710-4F52-94C9-94386F8AEA5A"><title>Typical uses</title> <p>The typical uses for the SD card classes
are the same as for MMC. </p> </section>
</conbody><related-links>
<link href="GUID-79B2CF91-FB95-5E7C-81CC-235A6A660D88.dita"><linktext>MMC Controller</linktext>
</link>
<link href="GUID-058BAEDF-5E04-5BB4-928F-0E0528FD9465.dita"><linktext>MultiMediaCard
Technology</linktext></link>
<link href="GUID-BE6AFD38-5952-537F-848C-C76C8F5FA9BF.dita"><linktext>MMC Controller
Architecture</linktext></link>
<link href="GUID-C059F39F-BC53-5C92-B05E-863B8CF22859.dita"><linktext>Command Objects</linktext>
</link>
</related-links></concept>