ARM Technical Support Knowledge Articles

INTERRUPT CODE NOT IN CORRECT SPACE

Applies to: C51 C Compiler

Answer

QUESTION

When I declare an interrupt, the linker seems to locate my code in the middle of the interrupt vector table space. Why does this happen?

ANSWER

The Keil linker is very efficient at locating code. If the interrupt vector table is empty, the linker can and will locate interrupt code there.

If you don't want the linker to do this, then you may create a file to contain dummy interrupts. For example:

static void dummy_ISR_0 (void) interrupt 0
{
}

static void dummy_ISR_1 (void) interrupt 1
{
}

static void dummy_ISR_2 (void) interrupt 2
{
}

static void dummy_ISR_3 (void) interrupt 3
{
}

Article last edited on: 2004-05-10 21:17:08

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential