ARM Technical Support Knowledge Articles

UNABLE TO DEFINE INTERRUPTS - CODE SPACE OVERLAP

Applies to: RTX51 Real-time Kernel

Answer


Information in this article applies to:


QUESTION

I have defined a serial interrupts in a file called SERIAL.C. When I build my project I receive the following linker warning:

Warning L5: CODE SPACE MEMORY OVERLAP

for the address range 0023H - 0029H, which is where the serial interrupt vector is located.

Looking at the map file, it appears that RTX51 has reserved all the interrupt vectors by locating 7 byte absolute segments at each vector location. If that's really the case, then how do I create an interrupt service routine?

ANSWER

This was a problem with older versions of RTX51. It has been solved in Version 5.10.

Note that the link order of the files is critical. The file in which the serial interrupt is defined must be processed before the RTXCONF.A51 file, so that the linker processes the serial interrupt segment before the RTX absolute segments.

To ensure this, you must perform the following steps:

  1. Select Edit Project from the Project menu.
  2. In the window select SERIAL.C and click on the Move Up button until it is listed above the RTXCONF.A51 file.
  3. Click on Save and rebuild your project.

In the latest version of RTX51, the file order doesn't matter. However, you must use the RTXCONF.A51 and RTXSETUP.DCL files that come with the latest version.

MORE INFORMATION

SEE ALSO

Article last edited on: 2005-07-15 12:54:06

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