ARM Technical Support Knowledge Articles

LINKING V6 LIBRARIES WITH V5 PROGRAMS

Applies to: C51 C Compiler

Answer


Information in this article applies to:


QUESTION

I have created several libraries using uVision2 and C51 Version 6.12.

I want to share these libraries with other developers who are using C51 V5.x. However, when they link in my library, they receive the following error message:

*** FATAL ERROR 220: INVALID INPUT MODULE

ANSWER

Libraries created with the Version 6 tools are not backwards-compatible with the Version 5 tools. There are a number of reasons that object modules (and therefore, libraries) are not compatible with older versions of the Keil tools:

It is still possible to link object files or librarys that were created with C51 Version 5 into projects created using C51 Version 6. The toolchain is upward-compatible in this way.

However, you cannot link object files or librarys that are created with a higher version (i.e. C51 Version 6.12) with the linker that was provided with older versions. Therefore, the BL51 Linker/Locater V3.7 that was shipped with C51 Version 5.50 will not accept files from Version 6. That's why you receive the Fatal Error 220 message.

Article last edited on: 2001-07-05 00:00:00

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