Adaptation/GUID-6060F138-CEB6-482A-B0E9-BBBE261568B0.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
permissions -rw-r--r--
Initial contribution of the Adaptation Documentation.

<?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-6060F138-CEB6-482A-B0E9-BBBE261568B0" xml:lang="en"><title>Baseport Template Overview</title><shortdesc>This section provides a summary of the Baseport Template
platform service.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-55C84C61-0BD1-4E01-A454-9B10B305169C"><title>What
is the Baseport Template</title><p>The Baseport Template is a reference
board template, which provides a basic framework consisting of base
parts of the Symbian platform. This framework can be modified to suit
your hardware configurations.</p><p>The Baseport Template code is
categorized into Application Specific Standard Product (ASSP) layer
and variant layer. The ASSP layer provides the source code for hardware-specific
functions (for example, GPIO, DMA, IIC, USB Client Controller) that
are used by the kernel. This layer is implemented by the <xref href="GUID-E893165C-0E62-3AC6-98BA-227E104B672E.dita"><apiname>TemplateAssp</apiname></xref> class. The variant layer provides common peripheral
control functions such as power, bootstrap, keymap, keyboard and sound
that other extensions and device drivers can use. This layer is implemented
by the <xref href="GUID-F041A785-0E01-3288-98EE-73627AC43B8B.dita"><apiname>Template</apiname></xref> class.</p><p>ASSP and variant layers
provide control functions for hardware which is used by multiple devices.
This is done by placing Baseport Template code in a single DLL, called
the Variant DLL (<codeph>ecust.dll</codeph>). For hardware architectures
based on an ASSP, you can allow multiple phone types that use the
same ASSP to share the common code. To achieve this, implement the
common ASSP code in a kernel extension, and <codeph>ecust.dll</codeph> implements the code that is specific to each variant. </p></section>
<section id="GUID-94D4C137-A1C0-4A30-B115-A8C3ABB873DF"><title>Purpose
of the Baseport Template</title><p>The Baseport Template is mostly
useful in creating a baseport and testing the software. The following
is a list of some of the key uses of the Baseport Template.</p><p>The Baseport Template is useful in handling:</p><ul>
<li><p>data exchange between devices connected to the bus</p></li>
<li><p>data copy between memory locations or between memory location
and peripheral</p></li>
<li><p>communication interface between the microprocessor components</p></li>
<li><p>hardware events and registers</p></li>
<li><p>USB functions of the device</p></li>
<li><p>power resources</p></li>
<li><p>phone restart after a hardware reset </p></li>
<li><p>shared chunks of camera and sound physical device driver</p></li>
<li><p>CPU idle operations</p></li>
<li><p>HAL, interrupt and keyboard functions</p></li>
<li><p>data storage based on NOR type flash memory</p></li>
<li><p>variant specific initialization (not the same as ASSP specific
initialization).</p></li>
</ul></section>
<section id="GUID-0E2FF597-880E-49B5-98EF-0228B9EE70F4"><title>Users
of Baseport Template</title>The Baseport Template documentation cover
users who: <ul>
<li><p>manufacture devices and want to develop software and get an
early debug output.</p></li>
<li><p>develop baseport. See <xref href="GUID-0C84FD76-87B2-4AD1-B23A-2C5C8668BC4C.dita">Base Porting Guide</xref> for base porting details</p></li>
</ul></section>
<section id="GUID-575E1FDC-6BA8-4847-A7F3-ADDF0D74B929"><title>Baseport
Template details</title><p>The following table lists the Baseport
Template details:</p><table id="GUID-BCE51448-8AE7-4D00-BADC-68A630392145">
<tgroup cols="3"><colspec colname="col1" colwidth="0.66*"/><colspec colname="col2" colwidth="0.67*"/><colspec colname="col3" colwidth="2.31*"/>
<thead>
<row>
<entry valign="top"><p>DLL</p></entry>
<entry valign="top"><p>Library</p></entry>
<entry valign="top"><p>Description</p></entry>
</row>
</thead>
<tbody>
<row>
<entry><p><filepath>katemplate.dll</filepath></p></entry>
<entry><p>None</p></entry>
<entry><p> ASSP DLL. This DLL is made up of the following template
files and can be found under <filepath>...template\asspandvariant\template_assp\</filepath> directory:<ul>
<li><p><filepath>template_assp.cpp</filepath> </p></li>
<li><p><filepath>interrupts.cpp</filepath></p></li>
<li><p><filepath>assp.cpp</filepath></p></li>
<li><p><filepath>register.cpp</filepath></p></li>
<li><p><filepath>template_assp.cia</filepath></p></li>
<li><p><filepath>interrupts.cia</filepath></p></li>
<li><p><filepath>assp.cia</filepath></p></li>
</ul></p></entry>
</row>
<row>
<entry><p><filepath>ecust.dll</filepath></p></entry>
<entry><p>None</p></entry>
<entry><p>Variant DLL. This DLL is made up of the following template
files and can be found in <filepath>...template\asspandvariant\template_variant\</filepath> directory:<ul>
<li><p><filepath>variant.cpp</filepath>   </p></li>
<li><p><filepath>variant.cia</filepath> </p></li>
</ul></p></entry>
</row>
</tbody>
</tgroup>
</table></section>
</conbody><related-links>
<link href="GUID-0C84FD76-87B2-4AD1-B23A-2C5C8668BC4C.dita"><linktext>Base
Porting Guide</linktext></link>
</related-links></concept>