| |||||
Technical Support Support Resources
Product Information | RTX51 TINY: MULTIPLE PUBLIC DEFINITIONS RTX_RAMTOP (PART 1)Information in this article applies to:
QUESTIONI recently upgraded my compiler. Now my project, which uses RTX Tiny, generates the following linker errors:
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: ?RTX_CURRENTTASK
MODULE: C:\KEIL\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_KERNAL)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: ?RTX_RAMTOP
MODULE: C:\KEIL\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_KERNAL)
*** WARNING L4: DATA SPACE MEMORY OVERLAP
FROM: 0008H
TO: 000DH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_CURRENTTASK
MODULE: C:\KEIL\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_CREATE)
ADDRESS: 0731H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_RAMTOP
MODULE: C:\KEIL\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_CREATE)
ADDRESS: 0745H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_CURRENTTASK
MODULE: C:\KEIL\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_CREATE)
ADDRESS: 076FH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_CURRENTTASK
MODULE: C:\KEIL\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_DELETE)
ADDRESS: 07BAH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_RAMTOP
MODULE: C:\KEIL\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_DELETE)
ADDRESS: 07D3H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_CURRENTTASK
MODULE: C:\KEIL\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_DELETE)
ADDRESS: 07F1H
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_CURRENTTASK
MODULE: C:\KEIL\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_DELETE)
ADDRESS: 080CH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_CURRENTTASK
MODULE: C:\KEIL\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_DELETE)
ADDRESS: 081FH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_CURRENTTASK
MODULE: C:\KEIL\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_RUNNING_TASK_ID)
ADDRESS: 086DH
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
SYMBOL: ?RTX_CURRENTTASK
MODULE: C:\KEIL\C51\LIB\RTX51TNY.LIB (?RTX51_TINY_OS_WAIT)
ADDRESS: 0875H
The code was working before the upgrade. What am I doing wrong? ANSWERThe upgrade has several new enhancements and requires a new configuration file. This is the cause of the error messages. C51 version 7.02 includes RTX51 Tiny Version 2 (RtxTiny2). The source code for RTX51 Tiny Version 2 is found in the \Keil\C51\RtxTiny2\SourceCode folder. Since RtxTiny2 works differently than RTX51 Tiny Version 1, it requires a new configuration file. Remove CONF_TNY.A51 (the configuration file for RTX tiny version 1) from the Project Workspace window and replace it with Conf_tny.A51 (the configuration file for RtxTiny2). The old configuration file is CONF_TNY.A51 and is located in the \Keil\C51\RTX_TINY\CONF_TNY.A51 folder. The new configuration file is Conf_tny.A51 and is located in the \Keil\C51\RtxTiny2\SourceCode\Conf_tny.A51 folder. The default Conf_tny.A51 is included in the RTX51TNY.LIB. If you do not include Conf_tny.A51 in the project workspace window, the default settings in the library are used. MORE INFORMATION
SEE ALSO
Last Reviewed: Sunday, October 29, 2006 | ||||
| |||||