Keil Logo

RTX51: UNABLE TO DEFINE INTERRUPTS - CODE SPACE OVERLAP


Information in this article applies to:

  • RTX51 Version 5.0

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

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.