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

To out do use of dongle

Hello All,

I have an up and running batchfile (please refer to my earlier request), to compile, link and creat a hex file from the command prompt.

I want to migrate onto 'using minimum tool installation' i.e. to build using a batchfile without the entire KEIL installation on my PC.

(1) What would I require as minimum tool installation?

(2) What are the precautions or procedures that I follow and observe??

Thanking you in advance.

Kathy.

/**********************************/
Message posted on 01/16/06

" I am trying to understand how to build a uv2 project from command line.

Presently when the (eg test.uv2) project is clicked open, it defaults to the uv2 IDE for build, compile and link.

Is there any way,that a project can be built, compiled and linked from command line without resorting to the IDE?

The idea is that someone without a knowledge of the IDE, should simply be able to compile the project with a given set of instructions."

Parents
  • To out do use of dongle
    If this means "use full keil without the dongle" than it should read "how do I violate the agreement I have made with keil re the use of the software.
    Is there any way,that a project can be built, compiled and linked from command line without resorting to the IDE?
    sure, that is the only way I operate, I can not use the IDE for two reasons 1) it will not integrate with a decent editor and 2) it will not build 47 versions of the same project.

    If you want an example batchfile, here it is

    Erik

    @ECHO OFF
    REM	 'nod' (default) to kill list and obj in b dir, 'dls' to bring it out
    
    cd ..\bupl
    
    del *.a51
    del *.c
    del *.h
    
    if "%MUSDEB%"=="0" goto setmdb
    goto setno
    
    :setmdb
    @ECHO ON
    REM ********** DEBUG INFO IN FILE **********
    @ECHO OFF
    copy ..\supl\cond\dbgflad.h dbgflga.inc	>..\trash\trashbin
    copy ..\supl\cond\dbgflcd.h debflgc.h		>..\trash\trashbin
    goto setdn
    
    :setno
    copy ..\supl\cond\dbgflan.h dbgflga.inc	>..\trash\trashbin
    copy ..\supl\cond\dbgflcn.h debflgc.h		>..\trash\trashbin
    
    
    :setdn
    copy  ..\supl\*.h  			*.*			>..\trash\trashbin
    copy  ..\supl\*.c  			*.*			>..\trash\trashbin
    copy  ..\supl\*.a51  		*.*			>..\trash\trashbin
    xcopy C:\ams\*.h 			*.*		>..\trash\trashbin
    
    rem hello there
    copy C:\aglobal\keil.h 		*.*		>..\trash\trashbin
    copy C:\aglobal\cyf120.h 	*.*		>..\trash\trashbin
    copy C:\aglobal\cyf120.inc 	*.*		>..\trash\trashbin
    copy C:\aglobal\c51s.lib	*.*		>..\trash\trashbin
    
    
    if not exist  cmplst.txt goto nocmdl
    del cmplst.txt
    :nocmdl
    call batasm UPstart
    call batasm UPxdata
    call batcmp UPmain
    
    call batcmp UPccode
    call batcmp UPisr
    
    if not exist cmplst.txt goto naser
    echo on
    REM /////////////////////////////////
    REM ///////// COMPILE ERRORS ////////
    REM /////////////////////////////////
    type cmplst.txt	| more
    REM saved in file cmplst.txt
    pause
    @ECHO OFF
    :naser
    
    if not exist UP.lib goto usliex
    del UP.lib
    :usliex
    c:\tools\keil\c51\bin\lib51 c UP.lib					>..\trash\trashbin
    c:\tools\keil\c51\bin\lib51 a UPccode.obj	to UP.lib	>..\trash\trashbin
    
    c:\tools\keil\c51\bin\bl51 UPstart.obj, UPisr.obj, UPmain.obj, UPxdata.obj, UP.lib, c51s.lib TO upl.omf RS(256) IX >protl.log
    IF errorlevel=2 GOTO tell
    goto show
    :tell
    echo on
    REM ////////////////////////////////////////
    REM //////////// linker ERRORS /////////////
    REM ////////////////////////////////////////
    REM errors and warnings are in protl.log
    REM link map is in upl.m51
    pause
    :show
    echo on
    type protl.log | more
    pause
    
    if "%NODEL%"=="0" goto nodel
    
    del *.lst
    del *.obj
    del *.lib
    del *.txt
    del *.log
    
    :nodel
    
    :hexc1
    c:\tools\keil\c51\bin\oh51 upl.omf HEXFILE (..\hex\upload.hex)
    echo on
    fc ..\hex\upload.hex ..\mtc\upload.hex
    goto hexit
    
    :setdbw
    
    
    :dexc1
    c:\tools\keil\c51\bin\oh51 as.omf HEXFILE (..\hex\%MUSTYP%%MUSMFG%%MUSWDT%%MUSHGT%DBG.hex)
    echo on
    fc ..\hex\%MUSTYP%%MUSMFG%%MUSWDT%%MUSHGT%DBG.hex ..\mtc\%MUSTYP%%MUSMFG%%MUSWDT%%MUSHGT%DBG.hex
    goto hexit
    
    
    :hexit
    pause
    type x.log
    goto getout
    
    
    
    :wdtmiss
    echo on
    rem ERROR !!!!!!!!wdt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    goto getout
    
    
    :hgtmiss
    echo on
    rem ERROR !!!!!!!hgt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    
    :getout
    cd ..\mk
    

Reply
  • To out do use of dongle
    If this means "use full keil without the dongle" than it should read "how do I violate the agreement I have made with keil re the use of the software.
    Is there any way,that a project can be built, compiled and linked from command line without resorting to the IDE?
    sure, that is the only way I operate, I can not use the IDE for two reasons 1) it will not integrate with a decent editor and 2) it will not build 47 versions of the same project.

    If you want an example batchfile, here it is

    Erik

    @ECHO OFF
    REM	 'nod' (default) to kill list and obj in b dir, 'dls' to bring it out
    
    cd ..\bupl
    
    del *.a51
    del *.c
    del *.h
    
    if "%MUSDEB%"=="0" goto setmdb
    goto setno
    
    :setmdb
    @ECHO ON
    REM ********** DEBUG INFO IN FILE **********
    @ECHO OFF
    copy ..\supl\cond\dbgflad.h dbgflga.inc	>..\trash\trashbin
    copy ..\supl\cond\dbgflcd.h debflgc.h		>..\trash\trashbin
    goto setdn
    
    :setno
    copy ..\supl\cond\dbgflan.h dbgflga.inc	>..\trash\trashbin
    copy ..\supl\cond\dbgflcn.h debflgc.h		>..\trash\trashbin
    
    
    :setdn
    copy  ..\supl\*.h  			*.*			>..\trash\trashbin
    copy  ..\supl\*.c  			*.*			>..\trash\trashbin
    copy  ..\supl\*.a51  		*.*			>..\trash\trashbin
    xcopy C:\ams\*.h 			*.*		>..\trash\trashbin
    
    rem hello there
    copy C:\aglobal\keil.h 		*.*		>..\trash\trashbin
    copy C:\aglobal\cyf120.h 	*.*		>..\trash\trashbin
    copy C:\aglobal\cyf120.inc 	*.*		>..\trash\trashbin
    copy C:\aglobal\c51s.lib	*.*		>..\trash\trashbin
    
    
    if not exist  cmplst.txt goto nocmdl
    del cmplst.txt
    :nocmdl
    call batasm UPstart
    call batasm UPxdata
    call batcmp UPmain
    
    call batcmp UPccode
    call batcmp UPisr
    
    if not exist cmplst.txt goto naser
    echo on
    REM /////////////////////////////////
    REM ///////// COMPILE ERRORS ////////
    REM /////////////////////////////////
    type cmplst.txt	| more
    REM saved in file cmplst.txt
    pause
    @ECHO OFF
    :naser
    
    if not exist UP.lib goto usliex
    del UP.lib
    :usliex
    c:\tools\keil\c51\bin\lib51 c UP.lib					>..\trash\trashbin
    c:\tools\keil\c51\bin\lib51 a UPccode.obj	to UP.lib	>..\trash\trashbin
    
    c:\tools\keil\c51\bin\bl51 UPstart.obj, UPisr.obj, UPmain.obj, UPxdata.obj, UP.lib, c51s.lib TO upl.omf RS(256) IX >protl.log
    IF errorlevel=2 GOTO tell
    goto show
    :tell
    echo on
    REM ////////////////////////////////////////
    REM //////////// linker ERRORS /////////////
    REM ////////////////////////////////////////
    REM errors and warnings are in protl.log
    REM link map is in upl.m51
    pause
    :show
    echo on
    type protl.log | more
    pause
    
    if "%NODEL%"=="0" goto nodel
    
    del *.lst
    del *.obj
    del *.lib
    del *.txt
    del *.log
    
    :nodel
    
    :hexc1
    c:\tools\keil\c51\bin\oh51 upl.omf HEXFILE (..\hex\upload.hex)
    echo on
    fc ..\hex\upload.hex ..\mtc\upload.hex
    goto hexit
    
    :setdbw
    
    
    :dexc1
    c:\tools\keil\c51\bin\oh51 as.omf HEXFILE (..\hex\%MUSTYP%%MUSMFG%%MUSWDT%%MUSHGT%DBG.hex)
    echo on
    fc ..\hex\%MUSTYP%%MUSMFG%%MUSWDT%%MUSHGT%DBG.hex ..\mtc\%MUSTYP%%MUSMFG%%MUSWDT%%MUSHGT%DBG.hex
    goto hexit
    
    
    :hexit
    pause
    type x.log
    goto getout
    
    
    
    :wdtmiss
    echo on
    rem ERROR !!!!!!!!wdt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    goto getout
    
    
    :hgtmiss
    echo on
    rem ERROR !!!!!!!hgt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    
    :getout
    cd ..\mk
    

Children
No data