|
Hello,
I am trying to use some inline code in assembler on Psoc Creator 2.0 - keil C51 9.03 and it just fails to link with a lot of unresolved externals, they being mostly those mentioned in the preceeding posts. If I comment out the inline code (just a few nops) and tell the compiler to do not use inline it compiles and links without errors. The same happens with the Generic C51 9.01 compiler that's installed on the computer.
Is there a fix (unlikely) or a workaround other that not using inline assembly code?
Regards,
heu
***********Linker Output when the app is built successfully
LIBX51.exe TRANSFER '.\DP8051\DP8051_Keil_903\Debug\GLCD_DB.obj', '.\DP8051\DP8051_Keil_903\Debug\CyBootAsmKeil.obj', '.\DP8051\DP8051_Keil_903\Debug\CyDmac.obj', '.\DP8051\DP8051_Keil_903\Debug\CyFlash.obj', '.\DP8051\DP8051_Keil_903\Debug\CyLib.obj', '.\DP8051\DP8051_Keil_903\Debug\cymem.obj', '.\DP8051\DP8051_Keil_903\Debug\cyPm.obj', '.\DP8051\DP8051_Keil_903\Debug\CySpc.obj', '.\DP8051\DP8051_Keil_903\Debug\cyutils.obj', '.\DP8051\DP8051_Keil_903\Debug\KeilStart.obj', '.\DP8051\DP8051_Keil_903\Debug\cyfitter_cfg.obj' TO '.\DP8051\DP8051_Keil_903\Debug\Design01.lib'
LX51.exe '.\DP8051\DP8051_Keil_903\Debug\main.obj', '.\DP8051\DP8051_Keil_903\Debug\ks0108.obj', '.\DP8051\DP8051_Keil_903\Debug\Design01.lib', 'C:\Program Files\Cypress\PSoC Creator\2.0\PSoC Creator\psoc\content\cycomponentlibrary\CyComponentLibrary.cylib\DP8051\DP8051_Keil_903\Debug\CyComponentLibrary.lib' TO '.\DP8051\DP8051_Keil_903\Debug\Design01.omf' PR(.\DP8051\DP8051_Keil_903\Debug\Design01.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=11.0 xdata=153 const=157 code=8936
OHx51.exe Design01.omf HEXFILE(Design01.ihx)
c8051-elf-omf2elf.exe Design01.omf Design01.elf
cyhextool -o .\DP8051\DP8051_Keil_903\Debug\Design01.hex -f .\DP8051\DP8051_Keil_903\Debug\Design01.ihx -prot .\Generated_Source\PSoC3\protect.hex -id 1E028069 -a EEPROM=90200000:800,PROGRAM=00000000:10000,CONFIG=80000000:2000,PROTECT=90400000:40 -meta 0301 -cunv 00000005 -wonv AFAC90BC -ecc .\Generated_Source\PSoC3\config.hex
Flash used: 9093 of 65536 bytes (13.9 %).
SRAM used: 153 of 8192 bytes (1.9 %).
--------------- Rebuild Succeeded: 01/25/2012 00:18:00 ---------------
**************** Linker output (partial) when it fails to link
LIBX51.exe TRANSFER '.\DP8051\DP8051_Keil_903\Debug\GLCD_DB.obj', '.\DP8051\DP8051_Keil_903\Debug\CyBootAsmKeil.obj', '.\DP8051\DP8051_Keil_903\Debug\CyDmac.obj', '.\DP8051\DP8051_Keil_903\Debug\CyFlash.obj', '.\DP8051\DP8051_Keil_903\Debug\CyLib.obj', '.\DP8051\DP8051_Keil_903\Debug\cymem.obj', '.\DP8051\DP8051_Keil_903\Debug\cyPm.obj', '.\DP8051\DP8051_Keil_903\Debug\CySpc.obj', '.\DP8051\DP8051_Keil_903\Debug\cyutils.obj', '.\DP8051\DP8051_Keil_903\Debug\KeilStart.obj', '.\DP8051\DP8051_Keil_903\Debug\cyfitter_cfg.obj' TO '.\DP8051\DP8051_Keil_903\Debug\Design01.lib'
LX51.exe '.\DP8051\DP8051_Keil_903\Debug\main.obj', '.\DP8051\DP8051_Keil_903\Debug\ks0108.obj', '.\DP8051\DP8051_Keil_903\Debug\Design01.lib', 'C:\Program Files\Cypress\PSoC Creator\2.0\PSoC Creator\psoc\content\cycomponentlibrary\CyComponentLibrary.cylib\DP8051\DP8051_Keil_903\Debug\CyComponentLibrary.lib' TO '.\DP8051\DP8051_Keil_903\Debug\Design01.omf' PR(.\DP8051\DP8051_Keil_903\Debug\Design01.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 L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: ?C?IILDX
MODULE: .\DP8051\DP8051_Keil_903\Debug\main.obj (MAIN)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: ?C?PSTXDATA
YMBOL: ?C?IILDX
SYMBOL: ?C?IMUL
SYMBOL: ?C?SIDIV
SYMBOL: ?C?IILDX
SYMBOL: ?C?CLDPTR
SYMBOL: ?C?ICALL2
SYMBOL: ?C?PLDIXDATA
SYMBOL: ?C?IILDX
SYMBOL: ?C?PSTXDATA
SYMBOL: ?C?PLDXDATA
SYMBOL: ?C_START
SYMBOL: ?C_XBP
SYMBOL: ?C?OFFXADD
SYMBOL: ?C?LLDXDATA
SYMBOL: ?C?LSTXDATA
SYMBOL: ?C?LLDXDATA0
SYMBOL: ?C?LAND
SYMBOL: ?C?LOR
SYMBOL: ?C?LSHL
SYMBOL: ?C?ULCMP
SYMBOL: ?C?LMUL
the list goes on but they're about pretty much about the symbols that won't be solved.
** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: ?C?PLDXDATA
MODULE: .\DP8051\DP8051_Keil_903\Debug\Design01.lib (CYSPC)
ADDRESS: 1004CB1H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: ?C?CSTPTR
MODULE: .\DP8051\DP8051_Keil_903\Debug\Design01.lib (CYSPC)
ADDRESS: 1004CC0H
Program Size: data=9.0 xdata=556 const=171 code=23187
The command 'LX51.exe' failed with exit code '2'.
--------------- Build Failed: 01/25/2012 00:33:54 ---------------
Psoc Creator:
Environment:
PSoC Creator 2.0 (2.0.0.828)
OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1
CLR Version: 2.0.50727.5448
Installed CyInstaller Products:
PSoC Programmer 3.13.4
PSoC Creator 1.0 Service Pack 2
PSoC Creator 2.0
PSoC Designer 5.1 SP2.1
|