We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
When I run the linker BL51.exe using the following command
BL51.EXE obj/STARTUP.obj, obj/task.obj, obj/hwm_wireless_cc2420.obj, obj/hwm_spi.obj, obj/hwm_pwrp_f342.obj, obj/hwm_usb_uart.obj, obj/hwm_usb_uart_int.obj, obj/hwm_usb_uart_descriptor_prj.obj, obj/demo.obj TO out/esnl XDATA (0X0000-0X1000) DATA (30H) RS (256) NOOVERLAY PRINT(lst/esnl.m51)
It hangs the system. If I remove one or more of the files then it links successfully. I am suspecting that the generated code is above some limit at which the linker quits working.
My linker version "BL51 BANKED LINKER/LOCATER V4.02"
Note This message was edited to reduce width.
I (thought) I had a similar issue, whet I did was to stich a number of objects in a libray and include the library in the link line.
'thought' in brackets because all I know was it did not work before, but did work after and if something else happened, I do not know. I did not try to 'go back' to verify. Since then all my build files work that way.
Erik
if not exist as.lib goto usliex del as.lib :usliex c:\tools\keil\c51\bin\lib51 c as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SSF881C.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SSF882C.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SSF882M.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SSFcc1C.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SSFcc1A.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SSF771A.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SSF901C.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a Sfmtbs.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a Sfmtbm.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SZfsn.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SZbsn.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SZfsc.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SZbsc.obj to as.lib >..\trash\trashbin if "%MUSTYP%"=="a" goto lnkac if "%MUSTYP%"=="b" goto lnkac if "%MUSTYP%"=="m" goto lnksa if "%MUSTYP%"=="s" goto lnksl if "%MUSTYP%"=="t" goto lnksa echo on rem WHAT 47 goto getout :lnkac c:\tools\keil\c51\bin\lib51 a Sacode.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a Sccode.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a Scrout.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a Sarout.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a S485.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\bl51 Sstart.obj, Sisr.obj, Siic.obj, Smain.obj, \ Sxdata.obj, Szdata.obj, as.lib, c51s.lib TO \ as.omf RS(256) IX >protl.log goto lnkdn :lnksa c:\tools\keil\c51\bin\lib51 a Sacode.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a Sccode.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a Scrout.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a Sarout.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a S485.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a STAgchar.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a STAbmap.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\bl51 STAstart.obj, STAisr.obj, STAiic.obj, STAmain.obj, \ Sxdata.obj, Szdata.obj, as.lib, c51s.lib TO as.omf \ RS(256) IX >protl.log goto lnkdn :lnksl c:\tools\keil\c51\bin\lib51 a SLVccode.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SLVcrout.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SLVarout.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SLV485.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\lib51 a SLV1wire.obj to as.lib >..\trash\trashbin c:\tools\keil\c51\bin\bl51 SLVstart.obj, SLVisr.obj, SLViic.obj, SLVmain.obj, \ SLVxdata.obj, SLVzdata.obj, SLVUmain.obj, \ SLVUflsh.obj, as.lib, c51s.lib TO as.omf \ RS(256) IX CO(?PR?_SLVUmain?SLVUMAIN (0xE000), \ ?PR?CUP*) >protl.log