This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

89v51rd2 error 127

I am using P89V51RD2 for my project I have choosen this IC because it have 1K Ram
My programme is compiling but while linking I ma getting following errors.

*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  ask_disp_key_val
    MODULE:  mc_ad1.obj (MC_AD1)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  chk_keys
    MODULE:  mc_ad1.obj (MC_AD1)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  chk_test_over
    MODULE:  mc_ad1.obj (MC_AD1)
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  ask_disp_key_val
    MODULE:  mc_ad1.obj (MC_AD1)
    ADDRESS: 10014D3H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  chk_keys
    MODULE:  mc_ad1.obj (MC_AD1)
    ADDRESS: 10014D9H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  chk_test_over
    MODULE:  mc_ad1.obj (MC_AD1)
    ADDRESS: 10014DCH
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  MAIN
    MODULE:  C:\KEIL\C51\LIB\C51L.LIB (?C_INIT)
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  MAIN
    MODULE:  C:\KEIL\C51\LIB\C51L.LIB (?C_INIT)
    ADDRESS: 1000E67H
Program Size: data=28.1 xdata=143 const=0 code=6729
Target not created

I am using some of the variables as xdata,I am confused whether this problem is because of xdata?
I have done the folloeing changes to startup file also

XDATASTART      EQU     0H      ; the absolute start-address of XDATA memory
XDATALEN        EQU     2ffH      ; the length of XDATA memory in bytes.

AUXR1 DATA  08EH               ; add SFR definition

STARTUP1:
                               ; enable on-chip xdata RAM
          ANL AUXR1,#NOT 02H   ; AUXR1/Bit 1 (clear to 0 to enable on-chip XRAM)

also my target settings are
memory model : large
code Rom : Large
Use onchip Rom:selected
Use onchi XRam :selected
Use Multiple DPTR : Selected

Please help me out.

Parents
  • I hope you haven't - that would certainly be A Bad Thing.

    But I guess you really mean that you've included declarations in your header...?

    While declarations are necessary for the file to compiler, they are not sufficient for the whole project to link - you must also have the definitions somewhere.

    See: c-faq.com/.../decldef.html

    "I have defined all the fuctions"

    No, the message clearly tells you that you have not defined them - or, at least, not in any place that the linker can find...

    "I am new to keil preeviously using sdcc compiler"

    This has nothing specifically to do with Keil nor SDCC - it is standard 'C' stuff

Reply
  • I hope you haven't - that would certainly be A Bad Thing.

    But I guess you really mean that you've included declarations in your header...?

    While declarations are necessary for the file to compiler, they are not sufficient for the whole project to link - you must also have the definitions somewhere.

    See: c-faq.com/.../decldef.html

    "I have defined all the fuctions"

    No, the message clearly tells you that you have not defined them - or, at least, not in any place that the linker can find...

    "I am new to keil preeviously using sdcc compiler"

    This has nothing specifically to do with Keil nor SDCC - it is standard 'C' stuff

Children
No data