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.
You said: "When the definitions are ones that are required by main(), they should appear prior to main()"
That's not true.
The definitions of symbols referenced in main() do not have to appear prior to main() - provided that declarations appear prior to main().
But your first response on the matter indicated a level of uncertainty.