You are here

L220: INVALID INPUT MODULE with Beta 5 | Cypress Semiconductor

L220: INVALID INPUT MODULE with Beta 5

Summary: 7 Replies, Latest post by Brijesh08ec on 04 May 2017 08:33 AM PDT
Verified Answers: 0
Last post
Log in to post new comments.
JJHawg's picture
User
19 posts

I have been using the PSoC 3 successfully for a couple of months, but now have a linker problem after upgrading to Beta 5.

I get this error message: L220: INVALID INPUT MODULE

It is referring to a file named CBC_Slave.LIB. This is my project name, but I can't find any reference to a "LIB" file in the project settings, so I don't know where this file is supposed to come from...

Has anyone else had this problem? Any ideas how to fix?

Thanks, Jim

JJHawg's picture
User
19 posts

Update.

I have found out some things about this problem, and I think it should be treated as a bug.

First of all, the command line generated by PSoC Creator to call LIBX51.EXE, just before calling the linker, does not put quotation marks around the destination LIB file name at the end of the line. I almost never put spaces in file or directory names, but Windows does when copying a folder, and I was working from a copied folder. Renaming the folder to remove spaces makes LIBX51 work.

A related problem seems to be with the command line generated for the linker, LX51.EXE. The reference to the LIB file generated by the previous LIBX51 invocation is referenced using a relative file path, but I can really tell relative to what? The linker apparently can't find the file. I have tried looking at project settings that might affect this, but nothing jumps out at me.

When I copy - modify - paste the generated lines onto a command prompt, they seem to work...

Of course, before commiting this post I tried to reproduce earlier success with the linker, but now I can't make it work. I am posting this anyway to at least get some other people thinking about the command line generation inside of PSoC Creator.

Thanks, Jim

JJHawg's picture
User
19 posts

Another tidbit of info is that this problem started with I upgraded to cy_boot v 2.0; I upgraded all other modules without problems... So, this in fact may have nothing to do with linker command lines...

JJHawg's picture
User
19 posts

As long as I am talking about how PSoC Creator generates command lines to the compiler, librarian, linker, and others, I should add these to the list...

 

There is inconsistent use of forward and back slashes, single and double quotation marks, and full and relative file paths.

 

Jack31's picture
User
15 posts

 I have a project with, a lot of files,who work fine.

I just add a component (digital input or anothjer thing) and after impossible to link "*** ERROR L220: INVALID INPUT MODULE"

Have you some idea to solve this problem ?

 

 

 

 

Working :>

LIBX51.exe TRANSFER 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\CyBootAsmKeil.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\CyDmac.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\CyFlash.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\CyLib.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\cymem.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\cyPm.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\CySpc.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\cyutils.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\KeilStart.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\Debut_Mesure.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\EEPROM_M41T56.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\SpiIn.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\SpiOut.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\cyfitter_cfg.OBJ' TO C:/boxcar.cydsn/DP8051_Keil_816/Debug/Boxcar.LIB

LX51.exe 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\clavier.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\Global.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\lcd.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\main.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\spi.OBJ', './DP8051_Keil_816/Debug/Boxcar.LIB', 'C:/Program Files/Cypress/PSoC Creator/1.0/PSoC Creator/psoc/content/cycomponentlibrary/CyComponentLibrary.cylib/DP8051_Keil_816/Debug/CyComponentLibrary.LIB'  TO  "C:/boxcar.cydsn/DP8051_Keil_816/Debug/Boxcar.omf" PR(C:/boxcar.cydsn/DP8051_Keil_816/Debug/Boxcar.map) IX CODE DW(16) RU CL(XDATA(X:0x0000-X:0x1FFF)) CL(CODE(C:0x0000-C:0xFFFF)) CL(CONST(C:0x0000-C:0xFFFF))  CASE

Program Size: data=27.4 xdata=454 const=149 code=18158

OHx51.exe "Boxcar.omf" "HEXFILE(Boxcar.ihx)"

C:\Program Files\Cypress\PSoC Creator\1.0\PSoC Creator\import/gnu_cs/c8051/1.0/bin\c8051-elf-omf2elf.exe "Boxcar.omf" "Boxcar.elf"

  segment .xdata is 454 bytes long

  segment .bss is 35 bytes long

  segment .pdata is 0 bytes long

  segment .text is 18308 bytes long

  segment .bit is 12 bytes long

  segment .sfr is 0 bytes long

cyhextool "-o" "C:/boxcar.cydsn/DP8051_Keil_816/Debug/Boxcar.hex" "-f" "C:/boxcar.cydsn/DP8051_Keil_816/Debug/Boxcar.ihx" "-prot" "C:\boxcar.cydsn\Generated_Source\PSoC3\protect.hex" "-id" "1E028069" "-cunv" "00000001" "-meta" "0301" "-a" 

 

Bug :>

LIBX51.exe TRANSFER 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\CyBootAsmKeil.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\CyDmac.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\CyFlash.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\CyLib.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\cymem.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\cyPm.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\CySpc.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\cyutils.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\KeilStart.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\Debut_Mesure.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\EEPROM_M41T56.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\Pin_1.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\SpiIn.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\SpiOut.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\cyfitter_cfg.OBJ' TO C:/boxcar.cydsn/DP8051_Keil_816/Debug/Boxcar.LIB

LX51.exe 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\clavier.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\Global.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\lcd.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\main.OBJ', 'C:\boxcar.cydsn\DP8051_Keil_816\Debug\spi.OBJ', './DP8051_Keil_816/Debug/Boxcar.LIB', 'C:/Program Files/Cypress/PSoC Creator/1.0/PSoC Creator/psoc/content/cycomponentlibrary/CyComponentLibrary.cylib/DP8051_Keil_816/Debug/CyComponentLibrary.LIB'  TO  "C:/boxcar.cydsn/DP8051_Keil_816/Debug/Boxcar.omf" PR(C:/boxcar.cydsn/DP8051_Keil_816/Debug/Boxcar.map) IX CODE DW(16) RU CL(XDATA(X:0x0000-X:0x1FFF)) CL(CODE(C:0x0000-C:0xFFFF)) CL(CONST(C:0x0000-C:0xFFFF))  CASE

*** ERROR L220: INVALID INPUT MODULE

    MODULE:  ./DP8051_Keil_816/Debug/Boxcar.LIB (-----)

*** Internal Reference: processlib3The command 'LX51.exe' failed with exit code '3'.

--------------- Build Failed: 05/17/2011 22:48:15 ---------------

 

*

*

 
Jack31's picture
User
15 posts

 My version :

Environment:

PSoC Creator  1.0 Production (1.0.0.7727)

Culture: French (France)

OS Version: Microsoft Windows NT 5.1.2600 Service Pack 3

CLR Version: 2.0.50727.3603

 

Installed CyInstaller Products:

PSoC Programmer 3.12.4 Production 

PSoC Creator 1.0 Production

PSoC Development Kit 1.0 Rev*E

PSoC Development Kit CY8C55 1.0 Rev*A

 
Jack31's picture
User
15 posts

 I find the bug : It is just the option Browse = true of compiler who make the bug

Brijesh08ec's picture
User
8 posts

Hello Friends

I am Just starting to programming in Psoc3 .but I Have some problem like this. 
I am also Install the Update version of Keil .But still having the problem. Please guide me soon if any one has solution of this.

Thanks in Advance.

Attachments: 
Log in to post new comments.