MC96F6432
310 June 22, 2018 Ver. 2.9
The Byte erase program procedure in user program mode
1. Page buffer clear (FMCR=0x01)
2. Write ‘0’ to page buffer
3. Set flash sector address register (FSADRH/FSADRM/FSADRL).
4. Set flash identification register (FIDR).
5. Check the UserID for to prevent the invalid work
(Note)
.
6. Set flash mode control register (FMCR).
7. Erase verify
Notes) 1. Please refer to the chapter “Protection for Invalid Erase/Write”.
2. On flash memory erase and write, it should be disabled the RXE0/1 bit of USI0CR2/USI1CR2
register.
Program Tip – byte erase
MOV FMCR,#0x01 ;page buffer clear
NOP ;Dummy instruction, This instruction must be needed.
NOP ;Dummy instruction, This instruction must be needed.
NOP ;Dummy instruction, This instruction must be needed.
MOV A,#0
MOV DPH,#0x80 ;Page Buffer Address is 8000H
MOV DPL,#0
MOVX @DPTR,A
MOV DPH,#0x80
MOV DPL,#0x05
MOVX @DPTR,A ;Write ‘0’ to page buffer
MOV FSADRH,#SAH ;Sector Address High Byte
MOV FSADRM,#SAM ;Sector Address Middle Byte
MOV FSADRL,#SAL ;Sector Address Low Byte
MOV FIDR,#0xA5 ;Identification value
MOV A,#ID_DATA_1 ;Check the UserID(written by user)
CJNE A,UserID1,No_WriteErase ;This routine for UserID must be needed.
MOV A,#ID_DATA_2
CJNE A,UserID2,No_WriteErase
MOV FMCR,#0x02 ;Start flash erase mode
NOP ;Dummy instruction, This instruction must be needed.
NOP ;Dummy instruction, This instruction must be needed.
NOP ;Dummy instruction, This instruction must be needed.
LJMP Erase_verify
---
No_WriteErase:
MOV FIDR,#00H
MOV UserID1,#00H
MOV UserID2,#00H
---
Erase_verify:
---
Verify_error:
---