Adaptation/GUID-8FA1B2B0-5842-4D5D-BD61-C2D79B56ADC6.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-8FA1B2B0-5842-4D5D-BD61-C2D79B56ADC6" xml:lang="en"><title>Interrupt Service Routine (ISR)</title><shortdesc>This document describes interrupt service routines as used by device
drivers.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>An ISR is a static function that will be executed when an interrupt occurs
on the interrupt source bound to the ISR. </p>
<codeblock id="GUID-E8416619-9314-5420-8EC1-F8BF804230DF" xml:space="preserve">// Interrupt service routines
static void UartIsr(TAny* aParam);
</codeblock>
<p>An ISR performs the actions necessary to service the event of the peripheral
that generated the interrupt and to remove the condition that caused it to
interrupt. It queues a DFC to do the required processing. It disables the
interrupts and FIQs on ARM, if required, to handle the interrupt, and enables
them before leaving. It can also disable the source of the interrupt that
it is servicing. </p>
</conbody></concept>