Keil Logo

L166: MEMORY SPACE OVERLAP USING MON166 AND NMI


Information in this article applies to:

  • C166 Version 4.20

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 µVision.

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

  • Refer to RESERVE in the L166 User's Guide.
  • Refer to TRAPS.C in the C166 User's Guide.

Last Reviewed: Friday, July 15, 2005


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.