Keil Logo

C51: LINKING V6 LIBRARIES WITH V5 PROGRAMS


Information in this article applies to:

  • C51 Version 5
  • C51 Version 6
  • µVision2 Version 2.12

QUESTION

I have created several libraries using µVision2 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:

  • C51 Version 6 includes many enhancements like long file names, for example.
  • C51 Version 6.12 and higher (unlike previous versions) has no limit on the number of SEGMENTS or EXTERNAL SYMBOLS your program may have.
  • Symbol names in C51 Version 6 may now be up to 255 characters long and are not limited to 40 significat characters as in previous versions.

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.

Last Reviewed: Thursday, July 5, 2001


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.