EEPROM -- 9S12DP256 EETS4K Block Guide

Download Report

Transcript EEPROM -- 9S12DP256 EETS4K Block Guide

EEPROM -- 9S12DP256 EETS4K Block Guide

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

EEPROM • MC12S-DP256

– 4 Kbytes of EEPROM – $0400 - $0FFF – $FEC – FFF used for autostart in CML 12S-DP256

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

; STORE WORD D AT ADDRESS Y AND Y+1 EESTD TST BPL ESTAT EED3 STD LDAA STAA LDAA STAA LDAA BITA 0,Y #$20 ECMD #$80 ESTAT ESTAT #$20 ;program word ;launch the command ;test PVIOL EED1 EED2 EED3 BNE LDAA STAA BRA BITA BNE LDAA STAA BRA LDAA BPL RTS EED1 #$20 ESTAT EED3 #$10 EED2 #$10 ESTAT EED3 ESTAT EED2 ;clear PVIOL ;test ACCERR ;clear ACCERR ;wait for command to finish Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

; ERASE 2 WORDS AT ADDRESS Y to Y+3 ERASE TST BPL ESTAT ERS3 LDD STD LDAA STAA LDAA STAA LDAA #0 0,Y #$40 ECMD #$80 ESTAT ESTAT ;address in sector ;erase sector ;launch the command ;test PVIOL ERS1 ERS2 ERS3 BITA BNE LDAA STAA BRA BITA BNE LDAA STAA BRA LDAA BPL RTS #$20 ERS1 #$20 ESTAT ERS3 #$10 ERS2 #$10 ESTAT ERS3 ESTAT ERS2 ;clear PVIOL ;test ACCERR ;clear ACCERR ;wait for command to finish Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

; EE! ( n addr -- ) EEST

LDY

2,X+

LDD CPD BEQ JSR

0,Y #$FFFF EES1 ERASE EES1

LDD JSR RTS

2,X+ EESTD ;if not FFFF ;erase sector ;program D

Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell

; ERASE.BULK ( -- ) BULKE TST BPL ESTAT ERB3 LDD STD LDAA STAA LDAA STAA LDAA #0 EESTART #$41 ECMD #$80 ESTAT ESTAT ;write anything to EEPROM ;erase bulk ;launch the command ;test PVIOL ERB1 ERB2 ERB3 BITA BNE LDAA STAA BRA BITA BNE LDAA STAA BRA LDAA BPL RTS #$20 ERB1 #$20 ESTAT ERB3 #$10 ERB2 #$10 ESTAT ERB3 ESTAT ERB2 ;clear PVIOL ;test ACCERR ;clear ACCERR ;wait for command to finish Design of Embedded Systems Using 68HC12(11) Microcontrollers - R. E. Haskell