English
Language : 

HD64F3337YCP16V Datasheet, PDF (492/749 Pages) Renesas Technology Corp – Old Company Name in Catalogs and Other Documents
FLMCR:
EBR1:
EBR2:
TCSR:
.EQU
.EQU
.EQU
.EQU
H'FF80
H'FF82
H'FF83
H'FFA8
.ALIGN
MOV.B
MOV.B
2
#H'**,
ROH,
ROH ;
@EBR*:8 ;
Set EBR*
; #BLKSTR is top address of block to be erased.
; #BLKEND is last address of block to be erased.
MOV.W #BLKSTR, R0
MOV.W #BLKEND, R2
ADDS
#1,
R2
; Top address of block to be erased
; Last address of block to be erased
; Last address of block to be erased + 1 → R2
; Execute prewrite
MOV.W
PREWRT: MOV.B
MOV.W
PREWRS: INC
MOV.B
MOV.B
MOV.W
MOV.W
MOV.W
BSET
LOOPR1: SUBS
MOV.W
BNE
BCLR
MOV.W
MOV.W
R0,
#H'00,
#H'a,
R6L
#H'00
R1H,
#H'A579,
R4,
R5,
#0,
#1,
R4,
LOOPR1
#0,
#H'A500,
R4,
R3
; Top address of block to be erased
R6L ; Prewrite-verify fail counter
R5
; Set prewrite loop counter
; Prewrite-verify fail counter + 1 → R6L
R1H ;
@R3 ; Write H'00
R4
;
@TCSR ; Start watchdog timer
R4
; Set prewrite loop counter
@FLMCR:8 ;
Set P bit
R4
;
R4
;
; Wait loop
@FLMCR:8 ;
Clear P bit
R4
;
@TCSR ; Stop watchdog timer
LOOPR2:
MOV.B
DEC
BNE
MOV.B
BEQ
CMP.B
BEQ
ADD.W
BRA
#H'c,
R4H
LOOPR2
@R3,
PWVFOK
#H'06,
ABEND1
R5,
PREWRS
R4H
R1H
R6L
R5
; Set prewrite-verify loop counter
;
; Wait loop
; Read data = H'00?
; If read data = H'00 branch to PWVFOK
; Prewrite-verify executed 6 times?
; If prewrite-verify executed 6 times, branch to ABEND1
; Programming time × 2
; Prewrite again
ABEND1: Programming error
PWVFOK: ADDS
#1,
R3
; Address + 1 → R3
CMP.W R2,
R3
; Last address?
BNE
PREWRT
; If not last address, prewrite next address
;Execute erase
ERASES: MOV.W #H'0000,
R6
; Erase-verify fail counter
MOV.W #H'd,
R5
; Set erase loop count
460