Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » EEPROM OnCircuitProgramming NKC » Themenansicht

Autor Thread - Seiten: -1-
000
27.08.2017, 11:05 Uhr
Steffen.111

Avatar von Steffen.111

Moin in die Runde,

mein NKC läuft erst einmal mit der HEXIO und HEXMON.
...nostalgische Gründe ... APOLLO ... what ever!
Mit Casetteninterface, hab ich grad nix am Hut, wie also geschriebene Programme sichern? ....EEPROM !!?

Habe 2x 28C64 auf die ROA64 gepackt.
Im Lieferzustand lassen sich die auch "normal" beschreiben, man muss sie nur nach dem Schreiben kurz "in Ruhe lassen". Also nicht sofort lesen!

Über den Programmer lässt sich ein WriteProtect aufprägen. Dann geht InCircuit erst mal nix mehr. ...eben auch nicht aus Versehen.

Jetzt habe ich gerade erfolgreich den WritProtect InCircurit per Software ein und ausgeschaltet. :-))

Einschalten:
(es muss eine Datenfolge an Adressen im EEPROM gesendet werden)
AA an 1555, 55 an 0AAA, A0 an 1555, (hier KÖNNTEN gleich mal noch 1..64 Byte geschrieben werden), PAUSE!

Ausschalten:
AA an 1555, 55 an 0AAA, 80 an 1555, AA an 1555, 55 an 0AAA, 20 an 1555, PAUSE!

Die Pausen sind wichtig! (glaube > 100us) und während den Sequenzen KEINE Lesezugriffe auf den Chip!!! ...also darf das Betriebssystem nicht auf dem zu ändernden Chip laufen! - leider -
Klar: zu den Basisadressen im Chip ist die Adresse des Chips zu addieren!

So kann man ein mühevoll eigetipptes Programm bis zum nächsten Einschalten retten. Evtl. mit Banking auch als virtuelles Laufwerk. ?....

Grüße, Steffen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
27.08.2017, 18:57 Uhr
Creep



Hallo Steffen,

vielen Dank für den Beitrag! Das finde ich sehr interessant und werde es gleich ausprobieren, wenn ich wieder zuhause bin! Dann müßten auch meine vor dem Urlaub bestellten 28c64 angekommen sein.

Gruß, Rene
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
27.08.2017, 19:28 Uhr
dl1ekm



Wie gibst du die Datenfolge ein? Manuell im Grundprogramm? Dann sollten allein aus Gründen der Tippgeschwindigkeit die 100µs kein Problem sein?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
27.08.2017, 19:42 Uhr
Steffen.111

Avatar von Steffen.111

...die Datenfolge muss aus einem Programm kommen und wie gesagt KEINE Lesezugriffe zwischendurch auf den Chip.
Habe die beiden Adressen in DE und BC und lade dann den Akku mit den Werten und gebe auf (DE) bzw. (BC) nacheinander aus. Nicht vergessen DI und am Ende EI!
Habe die Routinen in den HEXMON eingebunden. Wenn meine GDP laufen wird ... dann auch ins Grundprogramm.
Grüße, Steffen

PS.: wenn Du übers Programm eintippst, liest er ja gleich obs geklappt hat ... Peng!

Dieser Beitrag wurde am 27.08.2017 um 19:44 Uhr von Steffen.111 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
01.09.2017, 12:31 Uhr
Steffen.111

Avatar von Steffen.111

ACHTUNG! ...in die Runde
Ich sehe gerade auf einer unbestückten ROA64, dass alle PIN 1 der xxROM's miteinander verbunden sind.
In den meisten Dokus zum 28C64 Steht für Pin 1 "NC" - Es gibt aber auch eine "AT28C64" wo Pin 1 mit "RDY/BUSY or (NC)" beschriftet ist. Es gibt also Chips, die auf diesem Pin melden wann die weiter oben beschriebene "Pause" zu ende ist. Damit könnte n.m.M. die Verbindung der PIN's 1 untereinander Probleme verursachen, wenn mehrere AT28C64 eingesetzt werden!
Grüße, Steffen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
02.09.2017, 17:38 Uhr
Steffen.111

Avatar von 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
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
11.09.2017, 16:47 Uhr
rm2
Default Group and Edit
Avatar von rm2

Hallo Steffen,

habe in meinen *28Cxx-Unterlagen nachgesehen und nichts zum Schreibschutz gefunden. Bezieht sich der Schreibschutz
auf die ROA64-Karte?


mfg Ralph
--
.
http://www.ycdt.net/mc80.3x . http://www.ycdtot.com/p8000
http://www.k1520.com/robotron http://www.audatec.net/audatec
http://www.ycdt.de/kkw-stendal
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
11.09.2017, 17:03 Uhr
Steffen.111

Avatar von Steffen.111

Moin Ralph,

nein bezieht sich nur auf die AT28C64.
Es gibt unterschiedlich (genaue) Angaben in den verschiedenen Datenblättern.
Bei den von Rei...t angebotenen geht es jedenfalls.
Grüße, Steffen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
13.09.2017, 16:12 Uhr
rm2
Default Group and Edit
Avatar von rm2

Hallo Steffen,

kannst Du mir bitte deine AT28C64-Unterlagen (per email?) zukommen lassen?


mfg Ralph
PS
ich habe u.a. auch CAT28C64, aber auch *28C17
--
.
http://www.ycdt.net/mc80.3x . http://www.ycdtot.com/p8000
http://www.k1520.com/robotron http://www.audatec.net/audatec
http://www.ycdt.de/kkw-stendal
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
13.09.2017, 17:48 Uhr
Steffen.111

Avatar von Steffen.111

Hallo Ralph,

dann schicke mir doch mal per PM Deine eMailadresse.
Mache ich aber erst morgen, wenn ich wieder zu Hause am schnellen Netz bin.
Grüße Steffen
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek