005
02.09.2017, 17:38 Uhr
Steffen.111
|
Moin in die Runde, nun ist es mir auch gelingen den Chip 0000h zu überschreiben. Das kann, wie vor beschrieben nur aus dem RAM heraus erfolgen. Hier ein Listing mit dem man einige Bytes auch im EEPROM auf der Adresse 0000h ändern kann:
Quellcode: | ;--------------------------------------------------------- ;Hilfsroutine um EEPROM's zu ändern auch 0000h !! ;geschrieben für HEXIO ; 8132h: Adresse im EEPROM LwB, HxB ; 8134h: Anzahl Bytes ; 8135h... Bytes (c) DL2LCE ;--------------------------------------------------------- ORG 8100h EEPR: LD DE,1555h LD BC,0AAAh DI ;bitte nicht stören ld a,0AAh ld (de),a ; 1555: AA ld a,55h ld (bc),a ; 0AAA: 55 ld a,0a0h ld (de),a ; 1555: A0 LD DE,A8132 ;Adresse 8132h LD A,(DE) LD L,A ;LwB-Adresse INC DE LD A,(DE) ;HwB-Adresse LD H,A ;HL: neue Speicheradresse im Chip 0000h INC DE LD A,(DE) ;Anzahl der Bytes LD B,A OR B JR Z,EEPR2
NOP ;wird für "Umschaltzeit benötigt NOP ;sonst fehlen 4 Byte !!? NOP NOP
EEPR1: INC DE LD A,(DE) LD (HL),A INC HL DJNZ EEPR1 EEPR2 EI ;Schreibschutz gesetzt LD BC,0FFFFh EEPR3: DEC BC LD A,B OR C JR NZ,EEPR3 ;bitte einen Moment noch RET
A8132: DEFW 0000h ;Adresse im EEPROM DEFB 00h ;Anzahl der Bytes (max. 64) folgen DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DEFB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
Damit kann man keinen kpl. EEPROM programmieren, aber kleine Fehler ausmerzen. Grüße, Steffen |