Keil™, An ARM® Company

Technical Support

LX51: LINKER ERRORS WHEN USING FAR MEMORY


Information in this article applies to:

  • C51 Version 7
  • LX51 Version 3.65

QUESTION

I am using the far memory type in my application and I have manually added the run-time libraries. Now, I am getting several strange error messages during the link run.

For example:

*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  ?C?ISTOPTR

Other symbol errors refer to: ?C?CSTOPTR, ?C?CLDOPTR, ?C?ISTOPTR, ?C?ILDOPTR, ?C?PSTOPTR, ?C?PLDOPTR, ?C?LSTOPTR, and ?C?LLDOPTR.

There are also errors to the symbols ?C?CSTXPTR, ?C?CLDXPTR, ?C?ISTXPTR, ?C?ILDXPTR, ?C?PSTXPTR, ?C?PLDXPTR, ?C?LSTXPTR, and ?C?LLDXPTR.

What can be wrong?

ANSWER

For far memory type it is not enough to add just the run-time libraries. The following other settings are required:

  1. Enable the VARBANKING compiler directive.
  2. Add the configuration file XBANKING.A51 or L51_BANK.A51 that contains correct configurations of the ?C?xSTXPTR and ?C?xLDXPTR access routines. Note that there are core-specific variants of the L51_BANK.A51 file, for example the L51IBANK.A51 for the Mentor M8051EW core.

MORE INFORMATION

SEE ALSO

FORUM THREADS

The following Discussion Forum threads may provide information related to this topic.

Last Reviewed: Friday, July 15, 2005


Did this article provide the answer you needed?
 
Yes
No
Not Sure