Symbian3/PDK/Source/GUID-77DF7A6B-F01D-5B9F-9C7A-662A04ED8BE7.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
parent 14 578be2adaf3e
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 xml:lang="en" id="GUID-77DF7A6B-F01D-5B9F-9C7A-662A04ED8BE7"><title>ASSP Kernel Extension Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document provides information about the ASSP kernel extension template. </p> <section id="GUID-C6A2CB80-E20C-419B-B15A-92F304ED1415"><title>Purpose</title> <p>The template builds a kernel extension that contains chip specific code. </p> </section> <section id="GUID-E1EC67A4-CE8A-4BF0-B23E-873E52FE9621"><title> Library details</title> <p>The template DLL is identified below. </p> <table id="GUID-16551B29-0D5F-51C8-A650-80FFEDF0384D"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short description</entry> </row> </thead> <tbody><row><entry><p> <filepath>katemplate.dll</filepath>  </p> </entry> <entry><p> <filepath>None</filepath>  </p> </entry> <entry><p>A template for the ASSP part of the baseport. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section id="GUID-FA0339B9-E9FB-4990-B608-EB77062954CB"><title>Description</title> <p> </p> <p>The kernel can be compiled for various CPUs. For example, ARM9, ARM11 etc. Depending on which CPU the kernel is compiled for it interacts with the hardware in slightly different ways. The kernel relies on the ASSP layer to deal with the differences between the properties of the chip like: </p> <ul><li id="GUID-09BAA88B-713A-5B67-B31A-AED3C8C0F78D"><p>interrupt controllers </p> </li> <li id="GUID-8167BEB8-3B2D-5F43-867D-CDFBC07DE30D"><p>extra register locations </p> </li> <li id="GUID-960660F5-5908-59C4-A853-653C85D4F8AB"><p>GPIOs </p> </li> <li id="GUID-0A102CA1-D026-5707-BE00-D67C6C184EBA"><p>DMA controllers </p> </li> <li id="GUID-64C469D4-1212-530E-B931-07E22C947AAF"><p>timers and counters. </p> </li> </ul> <p>The ASSP extension also usually contains the details of the register addresses for one serial port to support debug output. The ASSP usually has functions for accessing registers as this can be non-trivial. </p> <p>All of these properties are built into the chip on a board together with the arm core. Some of these properties are mandatory. For example, the kernel needs access to at least one timer through the ASSP for the kernel tick. </p> <p> <b>Note</b>: the ASSP extension does not contain any of the drivers for peripherals like <xref href="GUID-79B2CF91-FB95-5E7C-81CC-235A6A660D88.dita">MMC</xref>, <xref href="GUID-A04F46F8-1BA9-5A77-B455-59C67DD4AA36.dita">serial port</xref> etc. </p> </section> <section id="GUID-7A12B5C5-D4A7-48A5-805E-2E9252BEF29F"><title>Using ASSP kernel extension template</title> <p>The DLL is made up of these template files: </p> <ul><li id="GUID-B648151D-7DCC-5813-AF65-8F1212AC8B82"><p> <filepath>template_assp.cpp</filepath>  </p> </li> <li id="GUID-2FF9D6A6-C9A7-5B79-86AE-905AAAEE361E"><p> <filepath>interrupts.cpp</filepath>  </p> </li> <li id="GUID-086A67AD-C7DD-5EC2-99C5-C669E76A5A35"><p> <filepath>assp.cpp</filepath>  </p> </li> <li id="GUID-CF3424A4-1804-5D49-84A2-A007B43789DC"><p> <filepath>register.cpp</filepath>  </p> </li> <li id="GUID-CD4BED0F-5891-5216-95A0-D05578E59F11"><p> <filepath>template_assp.cia</filepath>  </p> </li> <li id="GUID-3ADBFDB4-8418-5915-A721-F75C567BA3DC"><p> <filepath>interrupts.cia</filepath>  </p> </li> <li id="GUID-D5CE7DB0-CFBB-5F9B-B3D6-3841F626B6AD"><p> <filepath>assp.cia</filepath>. </p> </li> </ul> <p>These can be found in the directory <filepath>template\template_assp\</filepath>. </p> <p>The source files in the <filepath>template_assp</filepath> folder are quite well commented and should provide ample information on usage. </p> </section> </conbody><related-links><link href="GUID-984C2A0D-36BE-5A99-9D65-3F8791C669FF.dita#GUID-984C2A0D-36BE-5A99-9D65-3F8791C669FF/GUID-95C34114-F986-5428-9D40-5CF64429CDBD"><linktext>ASSP/Variant Architecture</linktext> </link> <link href="GUID-ECAC3FF3-CDB2-5153-AD76-90732BA83726.dita"><linktext>ASSP/Variant
                Tutorials</linktext> </link> </related-links></concept>