TMP92CZ26A
92CZ26A-261
3.11.6 An Example of Accessing NAND Flash of MLC Type (When the valid data is processed
as 518byte)
1. Initialization
;
; ***** Initialize NDFC *****
; Conditions: 16-bit bus, CE1, MLC, 2048 (2112) bytes/page, Reed-Solomon codes
;
ld (ndfmcr1),0007h ; 16-bit bus, Reed-Solomon ECC, SYSCK-ON
ld (ndfmcr0),5000h ; SPLW1:0=1, SPHW1:0=1
2. Write
Writing valid data
; ***** Write valid data*****
;
ldw (ndfmcr0),5008h ; CE1 enable
ldw (ndfmcr0),50A8h ; WE enable, CLE enable
ldw (ndfdtr0),0080h ; serial input command
ldw (ndfmcr0),50C8h ; ALE enable
ldw (ndfdtr0),00xxh ; Address write ( 4 or 5 times)
ldw (ndfmcr0),508Dh ; Reset ECC code, ECCE enable
ldw (ndfdtr0),xxxxh ; Data write (259-times/:518byte)
(256-times/512byte)
Generating ECC Reading ECC
; ***** Read ECC *****
;
ldw (ndfmcr0),5008h ; ECC circuit disable
ldw (ndfmcr0),50A8h ; WE enable, CLE enable
ldw (ndfdtr0),0080h ; serial input command
ldw (ndfmcr0),50C8h ; ALE enable
ldw (ndfdtr0),00xxh ; Address write ( 4 or 5 times)
ldw xxxx,(ndeccrd0) ; Read ECC from internal circuit
; Read: D79-64
ldw xxxx,(ndeccrd1) ; Read ECC from internal circuit
; Read: D63-48
ldw xxxx,(ndeccrd2) ; Read ECC from internal circuit
; Read: D47-32
ldw xxxx,(ndeccrd3) ; Read ECC from internal circuit
; Read: D31-16
ldw xxxx,(ndeccrd4) ; Read ECC from internal circuit
; Read: D15-0