English
Language : 

HD64F3337YCP16V Datasheet, PDF (433/749 Pages) Renesas Technology Corp – Old Company Name in Catalogs and Other Documents
; Execute erase
ERASES: MOV.W
MOV.W
ERASE: ADDS
MOV.W
MOV.W
MOV.W
BSET
LOOPE: NOP
NOP
NOP
NOP
SUBS
MOV.W
BNE
BCLR
MOV.W
MOV.W
; Execute erase-verify
MOV.W
MOV.B
BSET
LOOPEV: DEC
BNE
EVR2: MOV.B
MOV.B
MOV.B
LOOPDW: DEC
BNE
MOV.B
CMP.B
BNE
CMP.W
BNE
BRA
#H'0000,
#H'd,
#1,
#H'e,
R4,
R5,
#1,
R6
; Erase-verify fail counter
R5
; Set erase loop count
R6
; Erase-verify fail counter + 1 → R6
R4
;
@TCSR ; Start watchdog timer
R4
; Set erase loop counter
@FLMCR:8 ;
Set E bit
#1,
R4,
LOOPE
#1,
#H'A500,
R4,
R4
;
R4
;
; Wait loop
@FLMCR:8 ;
Clear E bit
R4
;
@TCSR ; Stop watchdog timer
R0,
#H'b,
#3,
R4H
LOOPEV
#H'FF,
R1H,
#H'c,
R4H
LOOPDW
@R3+,
#H'FF,
RERASE
R2,
EVR2
OKEND
R3
; Top address of block to be erased
R4H
; Set erase-verify loop counter
@FLMCR:8 ;
Set EV bit
;
; Wait loop
R1H ;
@R3
; Dummy write
R4H
; Set erase-verify loop counter
;
; Wait loop
R1H
; Read
R1H
; Read data = H'FF?
; If read data ≠ H'FF, branch to RERASE
R3
; Last address of block?
RERASE: BCLR
SUBS
BRER:
MOV.W
CMP.W
BNE
BRA
OKEND:
BCLR
MOV.B
MOV.B
#3,
@FLMCR:8 ;
Clear EV bit
#1,
R3
; Erase-verify address – 1 → R3
#H'0BB8, R4
R4,
R6
ERASE
ABEND2
;
; Erase-verify executed 3000 times?
; If erase-verify not executed 3000 times, erase again
; If erase-verify executed 3000 times, branch to ABEND2
#3,
#H'00,
R6L,
@FLMCR:8
R6L ;
@EBR*:8 ;
;
Clear EV bit
Clear EBR*
One block erased
ABEND2: Erase error
401