English
Language : 

HD64F3337YCP16V Datasheet, PDF (432/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'A578,
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
MOV.B #H'c,
R4H
; Set prewrite-verify loop counter
LOOPR2: DEC
R4H
;
BNE
LOOPR2
; Wait loop
MOV.B @R3,
R1H
; Read data = H'00?
BEQ
PWVFOK
; If read data = H'00 branch to PWVFOK
CMP.B
#H'32,
R6L
; Prewrite-verify executed 50 times?
BEQ
ABEND1
; If prewrite-verify executed 50 times, branch to ABEND1
BRA
PREWRS
; Prewrite again
ABEND1: Programming error
PWVFOK: ADDS
#1,
R3
CMP.W R2,
R3
BNE
PREWRT
; Address + 1 → R3
; Last address?
; If not last address, prewrite next address
400