|
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-F9051D21-3E4C-4645-BD04-06606E849AEF" xml:lang="en"><title>Interrupt Interface Overview</title><shortdesc>Provides a summary of the Interrupt platform service interface.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
13 <p>The Interrupt interface is provided by functions of the <xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita"><apiname>Interrupt</apiname></xref> class. The class is defined in the <filepath>os/kernelhwsrv/kernel/eka/include/kernel/arm/assp.h</filepath> file. |
|
14 The <codeph>Interrupt</codeph> class functions must be implemented |
|
15 by the baseport variant to enable device drivers and other kernel |
|
16 side code to handle the interrupts.</p> |
|
17 <section id="GUID-77EF021F-41F9-4126-A8C6-B93885B64C27"> |
|
18 <title>Interrupt handling functions</title> <table id="GUID-08A082CA-81EA-4B50-8901-BE0DB06093EA"> |
|
19 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/> |
|
20 <thead> |
|
21 <row> |
|
22 <entry valign="top">API</entry> |
|
23 <entry valign="top">Description</entry> |
|
24 </row> |
|
25 </thead> |
|
26 <tbody> |
|
27 <row> |
|
28 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-B594B453-899D-3066-9E45-A9A1AE54CAE4"><apiname>Interrupt::Bind(TInt anId, TIsr anIsr, TAny* aPtr)</apiname></xref></entry> |
|
29 <entry>Allows an Interrupt Service Routine (ISR) to be associated |
|
30 with a specified interrupt ID in the <codeph>anId </codeph> parameter.</entry> |
|
31 </row> |
|
32 <row> |
|
33 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-AE029812-8220-3970-80F6-6322B9D933BC"><apiname>Interrupt::Unbind(TInt anId)</apiname></xref></entry> |
|
34 <entry>Unbinds an ISR from a specified interrupt ID.</entry> |
|
35 </row> |
|
36 <row> |
|
37 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-A0D94710-E832-36F9-B324-823BFA537C2E"><apiname>Interrupt::Enable(TInt anId)</apiname></xref></entry> |
|
38 <entry>Enables a specified interrupt to be active and allows the associated |
|
39 ISR to handle the interrupts.</entry> |
|
40 </row> |
|
41 <row> |
|
42 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-410A0ED1-CA83-396C-921B-766C4D0BEFF6"><apiname>Interrupt::Disable(TInt anId)</apiname></xref></entry> |
|
43 <entry>Disable a specified interrupt.</entry> |
|
44 </row> |
|
45 <row> |
|
46 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-63C93F0D-F236-35D0-8E21-9FF1F96074B3"><apiname>Interrupt::Clear(TInt anId)</apiname></xref></entry> |
|
47 <entry>Clears the interrupt pending condition in the interrupt controller |
|
48 hardware.</entry> |
|
49 </row> |
|
50 <row> |
|
51 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-CD40CF24-7732-34FB-8FA1-34E0DCB9B474"><apiname>Interrupt::SetPriority(TInt anId, TInt aPriority)</apiname></xref></entry> |
|
52 <entry>Change the priority of a specified interrupt.</entry> |
|
53 </row> |
|
54 <row> |
|
55 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-C46E48EE-6F4A-3A61-A3C9-84B145119541"><apiname>Interrupt::AddTimingEntropy()</apiname></xref></entry> |
|
56 <entry>Adds high resolution timestamp to the interrupt. This function |
|
57 should be called by the device driver where the timing of the interrupts |
|
58 are considered to be random. </entry> |
|
59 </row> |
|
60 </tbody> |
|
61 </tgroup> |
|
62 </table> <p>The header file for the Interrupt platform service can |
|
63 be found <xref href="http://developer.symbian.org/xref/oss/xref/MCL/sf/os/kernelhwsrv/kernel/eka/include/kernel/arm/assp.h.dita">here</xref>.</p> <note> The Interrupt platform service is |
|
64 only used to associate an interrupt with an ISR. The Interrupt platform |
|
65 service is not used to dispatch interrupts.</note></section> |
|
66 </conbody></concept> |