Hi,
I'm trying to upgrade the Compilation Process followed in my old code which was working with 16-bit keil compiler ,now with 64-bit keil compiler.Following are the steps done below:
Please help me understand where I'm missing the compilation process.
REM COMP_AS.BAT - THIS BATCH FILE WILL BURN AN EEPROM FOR REM THE M840A ACCUSPEED ENCODER. rem ECHO OFF SET PATH=C:\ASPEED\AE\BurnAspd SET TMP=C:\ASPEED\AE\WORKF SET C51LIB=C:\ASPEED\AE\BurnAspd SET C51INC=C:\ASPEED\AE\BurnAspd DEL STARTUP.OBJ A51 STARTUP.A51 timeout.exe 10 DEL RAM.OBJ CX51.exe RAM.C OBJECT(RAM.OBJ) timeout.exe 10 DEL MAIN.OBJ CX51.exe MAIN.C OBJECT(MAIN.OBJ) timeout.exe 10 DEL SRESET.OBJ CX51.exe SRESET.C OBJECT(SRESET.OBJ) timeout.exe 10 DEL IO.OBJ CX51.exe IO.C OBJECT(IO.OBJ) timeout.exe 10 DEL FREQ.OBJ CX51.exe FREQ.C OBJECT(FREQ.OBJ) timeout.exe 10 DEL TIMER1.OBJ CX51.exe TIMER1.C OBJECT(TIMER1.OBJ) timeout.exe 10 DEL BUILD.OBJ CX51.exe BUILD.C OBJECT(BUILD.OBJ) timeout.exe 10 DEL SCAN.OBJ CX51.exe SCAN.C OBJECT(SCAN.OBJ) timeout.exe 10 DEL PE3291.OBJ CX51.exe PE3291.C OBJECT(PE3291.OBJ) timeout.exe 10 DEL XMIT_RAD.OBJ CX51.exe XMIT_RAD.C OBJECT(XMIT_RAD.OBJ) timeout.exe 10 DEL ATOD_LEV.OBJ CX51.exe ATOD_LEV.C OBJECT(ATOD_LEV.OBJ) timeout.exe 10 DEL BCH.OBJ CX51.exe BCH.C OBJECT(BCH.OBJ) timeout.exe 10 DEL EEPRM.OBJ CX51.exe EEPRM.C OBJECT(EEPRM.OBJ) timeout.exe 10 DEL DIAGNOST.OBJ CX51.exe DIAGNOST.C OBJECT(DIAGNOST.OBJ) timeout.exe 10 ECHO. ECHO. ECHO M840A ACCUSPEED CONTROL PROCESSOR ECHO LINKING OBJECT FILES ... timeout.exe 10 BL51 @LK_AS > ERRORMSG.TXT IF ERRORLEVEL 3 GOTO FATAL IF ERRORLEVEL 2 GOTO ERRORS IF ERRORLEVEL 1 GOTO WARNINGS BL51 @LK_AS ECHO. ECHO. ECHO M840A ACCUSPEED CONTROL PROCESSOR ECHO BUILDING FIRMWARE HEX FILE ... timeout.exe 10 OH51 ACUSPD > ERRORMSG.TXT IF ERRORLEVEL 3 GOTO FATAL IF ERRORLEVEL 2 GOTO ERRORS IF ERRORLEVEL 1 GOTO WARNINGS OH51 ACUSPD ECHO. ECHO. CLS ECHO ACUSPD.HEX IS COMPLETE! ECHO 0 > ERRORLVL.TXT ECHO SUCCESSFUL COMPILE! GOTO EXIT REM ************************************************************************* :WARNINGS ECHO THE PROGRAM CONTAINS A WARNING(S) ECHO 1 > ERRORLVL.TXT GOTO EXIT REM ************************************************************************* :ERRORS ECHO THE PROGRAM CONTAINS AN ERROR(S) ECHO 2 > ERRORLVL.TXT GOTO EXIT REM ************************************************************************* :FATAL ECHO THE PROGRAM CONTAINS A FATAL ERROR(S) ECHO 3 > ERRORLVL.TXT GOTO EXIT REM ************************************************************************* :EXIT ECHO. ECHO. CD .. CLS REM **************************** END OF FILE ********************************
Regards,
kaushendra sah
kaushendra said:Installed licensed keil 64-bit c51 version. copied the C51,A51,BL51,0H51 binaries to my project folder.
Why would you copy the tool binaries if you've just done an install of the licensed version?
Also, if you have a licence, you can raise a support case direct with Keil
kaushendra said:16-bit keil compiler
that must be really ancient - maybe the object file format is no longer compatible?
Andy Neil said:Why would you copy the tool binaries if you've just done an install of the licensed version? Also, if you have a licence, you can raise a support case direct with Keil
I have copied the C51,A51,BL51,0H51 binaries where my .bat file is executing.Also can you let me know the process to raise the support case with keil?
Andy Neil said:that must be really ancient - maybe the object file format is no longer compatible?
I'm able to generate the object file with my 64-bit compiler.
kaushendra said:I have copied the C51,A51,BL51,0H51 binaries where my .bat file is executing
Why would you do that? Windows executables are not generally intended to be copied about the place willy-nilly.
The usual approach would be to either set the PATH variable (if the Keil installation didn't already do that), or to use fully-qualified pathnames in your .BAT file.
kaushendra said:can you let me know the process to raise the support case with keil?
Did you not get details of that with your product?
It's not hard to find:
kaushendra said:I'm able to generate the object file with my 64-bit compiler
Perhaps it's messed-up due to copying the binary?
ISTR that CX51 supports an "extended" object file format?
Does CX51 by default produce an object file that's compatible with BL51?
ohkay my issue is resolved by using c51 instead of cx51.
Presumably, then, it would also be solved by using LX51 instead of BL51?