English
Language : 

HD64F3644PV Datasheet, PDF (164/551 Pages) Renesas Technology Corp – Old Company Name in Catalogs and Other Documents
Section 6 ROM
MOV.W @R2+,
R3
BRA PRETST
; Dummy-increment R2
;
; Execute prewrite
PREWRT: MOV.W @R2+,
PREW: MOV.B #H'00,
MOV.W #H'a,
PREWRS: INC R6L
MOV.B #H'00
MOV.B R1H,
MOV.W #H'FE5A,
MOV.B R4L,
MOV.B R4H,
MOV.B #H'36,
MOV.B R4L,
MOV.W R5,
BSET #0,
R3
; Prewrite start address
R6L
; Prewrite-verify fail counter
R5
; Set prewrite loop counter
; Prewrite-verify fail counter + 1 → R6H
R1H
;
@R3
; Write H'00
R4
;
@TCSRW:8 ;
@TCW:8 ;
R4L
;
@TCSRW:8 ; Start watchdog timer
R4
; Set prewrite loop counter
@FLMCR:8 ; Set P bit
LOOPR1: SUBS
MOV.W
BNE
BCLR
MOV.B
MOV.B
MOV.B
#1,
R4,
LOOPR1
#0,
#H'50,
R4L,
#H'b,
R4
;
R4
;
; Wait loop
@FLMCR:8 ; Clear P bit
R4L
;
@TCSRW:8 ; Stop watchdog timer
R4H
; Set prewrite-verify loop counter
LOOPR2: DEC R4H
BNE LOOPR2
MOV.B @R3,
R1H
BEQ PWVFOK
CMP.B #H'06, R6L
BEQ ABEND1
ADD.W R5,
R5
BRA PREWRS
;
; 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
; Double the programming time
; Prewrite again
ABEND1: Write error
PWVFOK: ADDS #1,
R3
MOV.W @R2,
R4
CMP.W R4,
R3
BNE PREW
PWADD2: INC R1L
BRA PRETST
; Address + 1 → R3
; Start address of next block
; Last address?
; If not last address, prewrite next address
; Used to test bit R1L +1 in R0
; Branch to PRETST
; Execute erase
ERASES: MOV.W #H'0000, R6
MOV.W #H'd,
R5
ERASE: ADDS #1,
R6
Rev. 6.00 Sep 12, 2006 page 142 of 526
REJ09B0326-0600
; Erase-verify fail counter
; Set erase loop counter
; Erase-verify fail counter + 1 → R6