ARM Technical Support Knowledge Articles

MEMORY SPACE OVERLAP USING MON166 AND NMI

Applies to: L166 Linker/Locator

Answer


Information in this article applies to:


QUESTION

I receive the following warning when linking my C166 program.

*** WARNING L004: MEMORY SPACE OVERLAP
    FROM:  000008H
    TO:    00000CH

This seems to be in the interrupt vector table space.

When I download the program (with the warnings) using Monitor-166, the monitor gives me a message that indicates I have overwritten this memory area.

I tried to reserve this memory area accouding to the Monitor-166 documentation. Specifically, I have reserved 8h-0Bh and 0ACh-0AFh using the Options for Target - L166 Misc - Reserve input line in uVision.

What am I doing wrong?

ANSWER

It is most likely that you have defined an interrupt function for the TRAP interrupt vector using the TRAPS.C module to handle the hardware traps of the 166 CPU (NMI is one of these traps). However, Monitor-166 uses the NMI interrupt for breakpoints. This is why you get the warning from the linker and Monitor-166.

If this is the case, you must exclude the interrupt 0x02 function. One way to do this is to use #if 0. For example:

#if 0
void NMI_trap (void) interrupt 0x02  {
  /* add your code here */
  while (1);                 /* end-less loop */
}
#endif

MORE INFORMATION

Article last edited on: 2005-07-15 14:38:32

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