- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Labels:
-
PSoC 3
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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 ---------------
*
*
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I find the bug : It is just the option Browse = true of compiler who make the bug
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content