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

BL51 linker

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.

Parents
  • 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
    

    Note
    This message was edited to reduce width.

Reply
  • 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
    

    Note
    This message was edited to reduce width.

Children
No data