Symbian3/PDK/Source/GUID-77DF7A6B-F01D-5B9F-9C7A-662A04ED8BE7.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Tue, 30 Mar 2010 11:56:28 +0100
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 14 578be2adaf3e
permissions -rw-r--r--
Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"

<?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>