- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link errors for all Cy components on my project. This project was built with creator 2.2 a long time ago and was good. Copied code to new laptop 2 years later, installed 2.2, opened Ok, did not need to update components. All building steps complete up to linker, where the symbols (every cy component I referenced) are not found. See section below from output. I made sure the embedded keil is registered and expire date is confirmed in June 2020. At first, I thought Keil would mangle the libraries. The libraries referenced on the linker command link show below are verified to exist and do not seem corrupt. I found under 'lib' a keil lib called CyCompLib.LIB, and added that to the linker external lib and verified it shows up on the linker line in the output. Still not luck.
What could this be? What should I do to debug this? I do not see the keil LIBx51.exe anywhere, or I would dump the symbols in the libraries to verify they exist in the library. This is the embedded distribution of keil DP8051_Keil_903 for this particular PSOC chip.
Thanks for any hints on how to debug this build issue.
OUTPUT SNIPPIT:
API Generation ...
Dependency Generation ...
Clean Temporary Files ...
c51.exe .\cr_lib.c NOIV LARGE MODDP2 OMF2 VB(1) PR(.\DP8051_Keil_903\Debug\cr_lib.lst) CD DB NOIP "OT(2, Size)" INCDIR(Generated_Source\PSoC3) OJ(.\DP8051_Keil_903\Debug\cr_lib.obj)
c51.exe .\lcd_lib.c NOIV LARGE MODDP2 OMF2 VB(1) PR(.\DP8051_Keil_903\Debug\lcd_lib.lst) CD DB NOIP "OT(2, Size)" INCDIR(Generated_Source\PSoC3) OJ(.\DP8051_Keil_903\Debug\lcd_lib.obj)
WARNING: .\lcd_lib.c:165: 'name': unreferenced local variable
WARNING: .\lcd_lib.c:80: not every exit path returns a value
WARNING: .\lcd_lib.c:93: not every exit path returns a value
c51.exe .\main.c NOIV LARGE MODDP2 OMF2 VB(1) PR(.\DP8051_Keil_903\Debug\main.lst) CD DB NOIP "OT(2, Size)" INCDIR(Generated_Source\PSoC3) OJ(.\DP8051_Keil_903\Debug\main.obj)
WARNING: .\main.c:630: 'i': unreferenced local variable
Ax51.exe .\Generated_Source\PSoC3\CyBootAsmKeil.a51 NOCO MACRO DB PR(.\DP8051_Keil_903\Debug/CyBootAsmKeil.lst) CASE EP INCDIR(Generated_Source\PSoC3) OJ(.\DP8051_Keil_903\Debug\CyBootAsmKeil.obj)
Ax51.exe .\Generated_Source\PSoC3\cymem.a51 NOCO MACRO DB PR(.\DP8051_Keil_903\Debug/cymem.lst) CASE EP INCDIR(Generated_Source\PSoC3) OJ(.\DP8051_Keil_903\Debug\cymem.obj)
Ax51.exe .\Generated_Source\PSoC3\KeilStart.a51 NOCO MACRO DB PR(.\DP8051_Keil_903\Debug/KeilStart.lst) CASE EP INCDIR(Generated_Source\PSoC3) OJ(.\DP8051_Keil_903\Debug\KeilStart.obj)
c51.exe .\Generated_Source\PSoC3\I2C_1_SLAVE.c NOIV LARGE MODDP2 OMF2 VB(1) PR(.\DP8051_Keil_903\Debug\I2C_1_SLAVE.lst) CD DB NOIP "OT(2, Size)" INCDIR(Generated_Source\PSoC3) OJ(.\DP8051_Keil_903\Debug\I2C_1_SLAVE.obj)
c51.exe .\Generated_Source\PSoC3\I2C_1_MASTER.c NOIV LARGE MODDP2 OMF2 VB(1) PR(.\DP8051_Keil_903\Debug\I2C_1_MASTER.lst) CD DB NOIP "OT(2, Size)" INCDIR(Generated_Source\PSoC3) OJ(.\DP8051_Keil_903\Debug\I2C_1_MASTER.obj)
c51.exe .\Generated_Source\PSoC3\adc_AMux.c NOIV LARGE MODDP2 OMF2 VB(1) PR(.\DP8051_Keil_903\Debug\adc_AMux.lst) CD DB NOIP "OT(2, Size)" INCDIR(Generated_Source\PSoC3) OJ(.\DP8051_Keil_903\Debug\adc_AMux.obj)
LIBX51.exe TRANSFER '.\DP8051_Keil_903\Debug\CyBootAsmKeil.obj', '.\DP8051_Keil_903\Debug\cymem.obj', '.\DP8051_Keil_903\Debug\KeilStart.obj', '.\DP8051_Keil_903\Debug\I2C_1_SLAVE.obj', '.\DP8051_Keil_903\Debug\I2C_1_MASTER.obj', '.\DP8051_Keil_903\Debug\adc_AMux.obj' TO '.\DP8051_Keil_903\Debug\MCM_00300_Rev1.lib'
LX51.exe '.\DP8051_Keil_903\Debug\cr_lib.obj', '.\DP8051_Keil_903\Debug\lcd_lib.obj', '.\DP8051_Keil_903\Debug\main.obj', '.\DP8051_Keil_903\Debug\MCM_00300_Rev1.lib', 'C:\Program Files (x86)\Cypress\PSoC Creator\2.2\PSoC Creator\psoc\content\cycomponentlibrary\CyComponentLibrary.cylib\DP8051\DP8051_Keil_903\Debug\CyComponentLibrary.lib' , "C:\Program Files (x86)\Cypress\PSoC Creator\2.2\PSoC Creator\lib\DP8051\DP8051_Keil_903\Debug\CyCompLib.LIB" TO '.\DP8051_Keil_903\Debug\MCM_00300_Rev1.omf' PR(.\DP8051_Keil_903\Debug\MCM_00300_Rev1.map) IX CODE DW(16) RU CL(XDATA(X:0x0000-X:0x1FFF)) CL(CODE(C:0x0000-C:0xFFFF)) CL(CONST(C:0x0000-C:0xFFFF))
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: cr_Read
MODULE: .\DP8051_Keil_903\Debug\cr_lib.obj (CR_LIB)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: _cr_Write
MODULE: .\DP8051_Keil_903\Debug\cr_lib.obj (CR_LIB)
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: cr_Read
MODULE: .\DP8051_Keil_903\Debug\cr_lib.obj (CR_LIB)
ADDRESS: 10017ECH
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: _cr_Write
MODULE: .\DP8051_Keil_903\Debug\cr_lib.obj (CR_LIB)
ADDRESS: 10017F7H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: cr_Read
MODULE: .\DP8051_Keil_903\Debug\cr_lib.obj (CR_LIB)
ADDRESS: 10017AAH
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: _cr_Write
MODULE: .\DP8051_Keil_903\Debug\cr_lib.obj (CR_LIB)
ADDRESS: 10017B9H
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The error occurs because you are referencing to some functions which aren't being found because their corresponding header files might not have been included. Please check if you have all the required files in the project directory.
Check the compiler include directories in the Build Settings to see if you have added any additional include directories which may be referenced incorrectly.
Please attach the project, so that we can get more insight into the problem.
Regards,
Dheeraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The error occurs because you are referencing to some functions which aren't being found because their corresponding header files might not have been included. Please check if you have all the required files in the project directory.
Check the compiler include directories in the Build Settings to see if you have added any additional include directories which may be referenced incorrectly.
Please attach the project, so that we can get more insight into the problem.
Regards,
Dheeraj