Download MC68F333 Flash EEPROM Programming Utilities

Transcript
*
***** Print signon and warning message
bsr
Print
print signon message
dc.b
'M68F333 Flash EEPROM Programmer Version 2.0',13,10,0
*
***** Main initialisation
bsr
Initialize
tst
d0
bne
Prog_end
*
Prog_0
*
Prog_1
***** Check command line
cmpi
#2,d2
bcs
Prog_0
cmpi
#3,d2
bls
Prog_1
move
#UsageError,Error(A5)
bra
Prog_end
Prog_12
*
Prog_2
clr.w
cmpi
bne
move.l
bsr
beq
move
bra
move.l
move.w
MOTOROLA
16
#4,a2
(a2)+,a0
FileMode(A5),a1
fopen
d0,FilePtr(A5)
Prog_11
#FileError,Error(A5)
Prog_end
skip over program name
get file name of S records
read mode - "r"
save file pointer
continue if OK
can't open input file
ModeAddr(A5)
#3,d2
Prog_2
(a2)+,a0
Eval
Prog_12
#EvalError1,Error(A5)
Prog_3
d1,StartAddr(A5)
#$1,ModeAddr(A5)
Assume no offset first..
argv = 3 ?
evaluate start address parameter
close file and exit
got first param
signal to calculate offset
ReadSRecord
d0
Prog_25
#SRecS9,d0
Prog_3
#SRecError,d0
d0,Error(A5)
Prog_3
get next S Record
continue if no error
S9 record ?
yes - close normally
otherwise flag error
***** Program data from S-Record into EEPROM
ProgRecord
d0
Prog_2
not_prog
#ProgError,Error(A5)
program data from S Record
loop till done
print fault address
error - report it
***** Close input file
bsr
*
Prog_end
arg count is wrong
***** Read an S-Record, check for errors
bsr
tst
beq
bsr
move
*
Prog_3
argc > 3?
***** Evaluate remaining parameters
bsr
tst
beq
cmpi
beq
addi
move
bra
*
Prog_25
argc < 2?
***** Get filename, open file, check if OK
addq.l
move.l
lea.l
bsr
move.w
bne
move
bra
*
Prog_11
init hardware and address list
CloseInputFile
close file
***** Report any errors, exit back to BD32
move
Error(A5),d1
get error code
moveq.l #BD_QUIT,d0
exit program
bgnd
AN1255/D