P51XAG30, Flash schreiben 80C51 Struktur

OP (Firma: Kai Weniger) #3504137
Hallo zusammen,

ich habe schon mal einen Beitrag zu dem Thema eröffnet, jedoch habe ich 
die falsche Platine erwischt wo das Hex-File rein muß.Jetzt nochmal neu 
mit einem anderen Prozessor P51XAG30 welcher wohl eine 80c51 Struktur 
hat und doppel Flash.

Also nochmal:
es betrifft eine Steuerplatine für eine Sat-Anlage auf unserem 
Wohnmobil, welche sich selbstänig ausrichtet. Beim Versuch eine 
update.hex via RS232 mit dem falschen file->falsche_Hex.S19 
einzuspielen, habe ich das Ding geschrotte.

Normalerweise funktioniert die Programmierung mit dem Flash16.exe 
Programm,
aber nach falscher Dateiauswahl geht nichts mehr. Es kommt kein 
Startbefehl vom Prozessor. Auf dem Screen steht nur : "Ready to program 
flashproms AM29F010 waiting for reset from microcontroller"

Das Board hat zwei Flashs wie im Bild zu sehen. Ich habe mal die Flashs 
ausgelötet und mit einem Programmer ausgelesen, s.h. original_main 01 
und 02.hex. Vor dem einbau werde ich die Dinger sockeln um 
evt.Vorschläge besser in die Flashs reinzubrennen.

In den ausgelesenen Dateien steht wohl nicht viel in den Flashs, sowie 
ich das erkenne, habe leider keine Ahnung von MC und Programmierung.

Meine Frage nun:

Wie kann ich das Ding wieder zu leben erwecken, bzw. wie bekomme ich die 
Update.hex in die Flashs. Brennen wäre möglich aber kommt dann in beide 
die gleiche rein ?

Ist es möglich den Prozessor anzuspupsen, sodas er ein update über RX/TX 
empfängt? s.h. Datenblatt PINs:
Pin35:(EA/VPP/WAIT) Pin33:(ALE/PROG) und Pin:32 (PSEN) wofür die auch 
immer gut sind.

Gibt es ein anderes Programm mit dem ich das Hex-File wieder einspielen 
kann ?

Der Hersteller liefert keinen Support mehr da das Ding schon 10 Jahre 
alt ist.

Ihr seit meine letzte Hoffnung,

und entschuldigung für den Fehler mit dem falschen Board auf dem aber 
auch ein 29F010 welcher gesockelt war, aber das Board mach nur die 
NIT-Auswertung der Satsignale.

LG

Kai

PS:genaue Daten sind im Bild zu sehen Habe gerade ein Fehler entdeckt:
der 22V10Z ist ein  GAL Adressenselektor, Chipselektor.
Angehängte Dateien:
#3504163
update.hex sieht wie eine HEX-Datei aus. Der Größe nach sollen 128kBytes 
gefüllt werden.

original_main.hex enthalten nur Müll.

falsche_HEX-Datei.S19 ist keine HEX Datei sondern ein anderes Format, 
vermutlich eine Abart des Motorola S19. Wenn das Update Programm das 
gefressen und programmiert hat, sollte man den Programmierer ...

Da der Prozessor 8 und 16 Bit als Datenbus Breite unterstützt, kann man 
ohne Kenntnis der Schaltung nicht sagen, wie das Update File in die 
beiden Eproms gefüllt werden muss. "Beide das Gleiche" ist mit 
Sicherheit falsch.

Den Prozessor extern wieder zu beleben wird nicht möglich sein.

Der sicherste Weg ist, ein gleiches Gerät zu beschaffen und die Eproms 
zu dublizieren. Das kannst du schaffen.

Alternativ kannst du nur versuchen, das Update File an der 64k Grenze zu 
splitten und dann untere und obere Hälfte in je eines der Eproms zu 
brennen. Dazu musst du aber wissen, welches Eprom oben und welches unten 
liegt. Und beachte, dass das update.hex Lücken enthält, die du mit 0 
oder 0xff füllen solltest. Ich habe auf die Schnelle nur 2 "Typ 2" 
Records gesehen, die die Zuordnung oben/unten machen. Sollten es mehr 
sein, muss entsprechend intelligent alles vorverarbeitet werden. Bei 
deinen Vorkenntnissen wirst du hier Probleme bekommen, die per Forum 
nicht lösbar sind.
OP (Firma: Kai Weniger) #3504191
Georg G. schrieb:
> Ich habe auf die Schnelle nur 2 "Typ 2"
> Records gesehen, die die Zuordnung oben/unten machen

Super danke für die Antwort, höhrt sich ja nach einem Hoffnungschimmer 
an.

Die Flashs sind beschriftet mit 01 und 02. Da das Programm Flash16 heist 
denke ich mal das es 16 Bit ist.

Wenn du das splitten kannst und mir evt. schicken kannst, wäre das doch 
schon mal ein super Versuch, danke danke....

mail: Kai_mehr@yahoo.de

Ps: wie hat der Hersteller die Daten darein bekommen, da die Flashs ja 
nicht gesockelt sind ?
und
es gibt kein Chance ein so seltenes Stück hier in DE zu bekommen da es 
eigentlich nur in USA verkauft wurde.

Kai

Ps: bei Erfolg soll die Mühe auch nicht kostenlos sein.
Gast #3504578
Kai Weniger schrieb:
> Ps: wie hat der Hersteller die Daten darein bekommen, da die Flashs ja
> nicht gesockelt sind ?

Die muss er vor dem Bestücken programmiert haben.
Es gibt folgende Versionen des Controllers:
P51XAG30 = ohne ROM
P51XAG33 = mit ROM
P51XAG37 = mit EPROM (UV oder OTP)

Auf Deinem Board ist also der Controller ohne ROM, also war der
Bootloader im Flash.

Hast Du mal versucht in amerikanischen Foren zu suchen / fragen?
OP (Firma: Kai Weniger) #3504904
rk schrieb:
> Hier die update.hex als update.bin und von 16-Bit auf 2x8 gesplitted..

Super, danke, das ist doch schonmal ein erster Schritt. Werde es mal 
ausprobieren sobald ich die Sockel habe.
evt. haben wir ja glück, und der Bootloader ist auch noch mit drin.
Gast #3505092
Wie lautet denn die komplette Bezeichnug des P51XA?

Ich glaube dass das Teil auch einen Bootloader im OTP-ROM hat,
weil Flash16 anscheinend den String "?PGM" erwartet.
Der kommt aber in update.bin nicht vor.

Gibt es irgendwelche Jumper auf dem Board mit denen man
den EA-Pin für Boot von Flash/OTP-ROM einstellen kann?

Ausserdem gibt es im Reset-Vector einen Call auf eine Adresse
die nicht in Update-Bin vorhanden ist:

fcall   3:8000h

Es fehlen auch Einstellungen der System-Register.

Das Teil hat zu 99% OTP-ROM..

Sieht man was wenn man ein Terminal-Programm an das Board anschliesst?

PS: Das Sockeln der Flashs stelle ich mir etwas schwierig vor.
Wie willst Du das machen? Heissluft?
Hättest vielleicht erstmal drin lassen sollen..
OP (Firma: Kai Weniger) #3505122
rk schrieb:
> komplette Bezeichnug des P51XA

danke für deine Mühe, sie lautet P51XAG30KFA-C21992 .Einen Jumper gibt 
es leider nicht, vom Board kommt leider nichts mehr und wie du schon 
schreibst kam früher ein ?PGM.

Da ich Radio-Fernsehtechniker bin verfüge ich über eine Heissluftstation 
und auch eine IR-Station.Das mit dem löten ist für mich das kleiner 
Problem, aber von den Sachen die die oben schreibst habe ich leider 
keine Ahnung.

Wenn du Jumper brauchst bau ich dir gerne welche dran, nur wo ??

:-)
OP (Firma: Kai Weniger) #3505271
rk schrieb:
> Gibt es irgendwelche Jumper auf dem Board mit denen man
> den EA-Pin für Boot von Flash/OTP-ROM einstellen kann?

kann mann mit dem Pin 32:
Program Store Enable:
The read strobe for external program memory. When the microcontroller
accesses external program memory, PSEN
is driven low in order to enable memory devices. PSEN
is only active when external code accesses are performed

oder

Pin 35:
External Access/Wait:
The EA
input determines whether the internal program memory of the
microcontroller is used for code execution. The value on the EA
pin is latched as the external reset
input is released and applies during later execution. When latched as a 
0, external program
memory is used exclusively, when latched as a 1, internal program memory 
will be used up to its
limit, and external program memory used above that point. After reset is 
released, this pin takes on
the function of bus Wait input. If Wait is asserted high during any 
external bus access, that cycle
will be extended until Wait is released. During EPROM programming, this 
pin is also the
programming supply voltage input

evt. was anfangen ?
Angehängte Dateien:
Gast #3505286
Ok, die CPU hat OTP-ROM und Du schaffst es vielleicht die Flashs zu 
sockeln.
Keine Ahnung ob's dann geht.

Bevor Du das Board wegschmeisst Mail an koixx23@yahoo.de.

Viel Glück!
OP (Firma: Kai Weniger) #3505292
Nö, ich weiss ja noch nicht mal wofür der gut ist und was da drauf sein 
soll.
Kann ich aber gerne tun wenns weiterhilft, ich mauß nur erst die Sockel 
verbauen die ich morgen geliefert bekomme.

Ps: mir fällt gerade noch ein:
wo das Board noch lief, kam bei dem Update am Anfang noch erase Flash, 
dann programm und dann error.

leer scheinen die Dinger ja zu sein.
Gast #3505338
Sieht so aus als würde es auch mit Flash16 klappen wenn die Flashs
erased sind, also alles 0xFF.

Dann geht der Booloader vielleicht in den Prompt.

Auf Deinen Flashs ist aktuell ja Junk drauf.
Welchen Eprommer hast Du denn? GALEP?

Auf PSEN sollten nach dem Reset ein paar Flanken kommen..
OP (Firma: Kai Weniger) #3505399
rk schrieb:
> Sieht so aus als würde es auch mit Flash16 klappen wenn die Flashs
> erased sind, also alles 0xFF.
>
> Dann geht der Booloader vielleicht in den Prompt

sowas habe ich mir auch schon überlegt und ich werde sie erstmal 
komplett löschen und dann mal probieren.

Es ist ein PCB5.0E Willem EPROM programmer. Mit dem habe ich schon 
kopien des AM29F010 auf dem anderen Board gemacht und das klappte 
reibungslos.

Nun schau ich erstmal das ich die Sockel darein bekomme, danke, danke, 
danke.

PS: ganz ohne Flashs kam auch kein PGM.
OP (Firma: Kai Weniger) #3507041
so, Sockel sind drin, aber:

rk schrieb:
> Hast Du PSEN mal mit einem Oszillosop gecheckt?

da ist durchgehend eine gleichbleibende Frequenz drauf.

leider hat es mit den beiden gesplitten Dateien nicht geklappt und auch 
nicht mit leeren Flashs.

Noch irgendeine Idee ?
Gast #3507182
Ich zitiere mich mal selbst:

tommy schrieb:
> Es gibt folgende Versionen des Controllers:
> P51XAG30 = ohne ROM
> P51XAG33 = mit ROM
> P51XAG37 = mit EPROM (UV oder OTP)

Also: Die Version mit der 30 hat kein ROM, kann also
keinen Bootloader enthalten :-(
OP (Firma: Kai Weniger) #3507234
tommy schrieb:
> Also: Die Version mit der 30 hat kein ROM, kann also
> keinen Bootloader enthalten :-(

heist das jetzt mann brauch keinen Bootloader ?

vertauscht:
wollte ich noch machen, habe ich vergessen, mach ich nochmal,bin aber 
erst morgen wieder auf der Arbeit.
OP (Firma: Kai Weniger) #3508987
Hallo nochmal an alle,

habe heute festgestellt, das beim auslesen der Flashs was schief 
gegangen ist, Die Platine war mit einem leichten Film Schutzlack 
überzogen und dadurch haben die Flashs im Eprommer keinen richtigen 
Kontakt gehabt.

Anbei jetzt nochmal die HEX und Bin der beiden Flashs.

Sie sind nicht ganz leer, ich habe an der Stelle 006FC2 und 0X1C000 
Daten gefunden. evt. ist das ja ein Bootloader ????

Kai
Angehängte Dateien:
#3509104
Prima!

Die beiden Teile jetzt jeweils ab x1C000 in die gesplitteten Daten von 
rk(Gast) einfügen und es sollte wieder laufen.

Da unklar ist welche Teile zusammengehören, ist die Chance 50% dass es 
im ersten Anlauf klappt.
OP (Firma: Kai Weniger) #3509144
Dieter Werner schrieb:
> Prima!
>
> Die beiden Teile jetzt jeweils ab x1C000 in die gesplitteten Daten von
> rk(Gast) einfügen und es sollte wieder laufen.
>
> Da unklar ist welche Teile zusammengehören, ist die Chance 50% dass es
> im ersten Anlauf klappt.

habe leider keinen vernünftigen Hex editor....
OP (Firma: Kai Weniger) #3512204
so jetzt habe ich die angehängten Dateien mit Bootloader in die Flashs 
gebrannt mit mäßigem Erfolg, und zwar:

Jetzt scheint das Ding schon mal zu booten und macht einen kleinen 
Initialisierungslauf, bleibt stehen und fängt wieder von vorne an. Auf 
dem RS232 Port ist leider mit dem Terminalprogramm nichts zu sehen, kein 
PGM etc.. Mit dem Oszi. kann mann Datenpakete erkenn.

hat jemand noch ne Idee was da noch falsch ist in den Dateien ?
Angehängte Dateien:
Gast #3512486
>also mit dem Testprogramm passiert nichts,
>egal in welcher Reihenfolge ich die Chips reinpack.
>die Chips heissen AM29F010B-120 JC und JD, die originalen -90 Jf

In meinem XA51-Board war für 22.1184 MHz ein AM29F040-55 drin
und es läuft auch mit einem AT49F512-90, aber 120 ns?
Sind die /CE Pins auf GND?

Hast Du jetzt mal gecheckt ob die Address-Pins und /CE /OE /WE
der beiden Sockel untereinander Verbindung haben?
Und die Daten-Pins Verbindung zum XA51 haben?
OP (Firma: Kai Weniger) #3512506
rk schrieb:
>>also mit dem Testprogramm passiert nichts,
>>egal in welcher Reihenfolge ich die Chips reinpack.
>>die Chips heissen AM29F010B-120 JC und JD, die originalen -90 Jf
>
> In meinem XA51-Board war für 22.1184 MHz ein AM29F040-55 drin
> und es läuft auch mit einem AT49F512-90, aber 120 ns?
> Sind die /CE Pins auf GND?
>
> Hast Du jetzt mal gecheckt ob die Address-Pins und /CE /OE /WE
> der beiden Sockel untereinander Verbindung haben?
> Und die Daten-Pins Verbindung zum XA51 haben?

Hab ich noch nicht, werde ich aber morgen machen.Die Daten Pins sind die 
mit DQ0-7 oder A0-16 ? an welche Eingänge des Prozessors gehen die ?

soll ich evt. einfach doch mal die Original Flashs mit 90ns 
überschreiben anstatt der 120ns Flashs die ich jetzt drin habe, oder 
doch noch lieber liegen lassen als Reserve ? ausgelesen sind sie ja 
jetzt.
Gast #3512512
>> Die Daten Pins sind die mit DQ0-7

so ist es, A0-16 sind die Adressen.
>> soll ich evt. einfach doch mal die Original Flashs mit 90ns
>> überschreiben

ist nen Versuch wert.
#3512727
Eproms sind eigentlich bei Raumtemperatur immer schneller als angegeben. 
Aber ein Test mit den originalen Teilen kann nicht schaden. Die sind ja 
eh verflasht.

Ich würde alle Lötstellen an den Eproms mit einer Lupe kontrollieren, 
vorher am besten mit Isopropanol die Reste von Flussmittel entfernen.

Wenn an der seriellen Schnittstelle Signale erscheinen, kann man mit 
einem Terminal Programm die gängigen Baudraten durchprobieren. Eventuell 
hilft die Meldung dann weiter.
(Firma: 100nF 0603 X7R) #3512737
Der Benutzer 'kaimehr' hat Ihnen die folgende Nachricht geschickt:
====================================
Hallo,
bitte schauen Sie sich mal meinen weiter Thread an, evt. können Sie da
weiterhelfen:
Beitrag "80C320 programmieren, bzw update einspielen"
MfG
Kai Weniger
====================================

Bitte nicht die Leute direkt anschreiben, nur weil sie auch versucht 
haben zu helfen.
Wenn ich hätte weiter helfen können, hätte ich es getan.
Aber ich habe echt keine Zeit, mich in den P51XAG30 einzuarbeiten.
Das Ding ist mir viel zu exotisch.
OP (Firma: Kai Weniger) #3513493
rk schrieb:
> Sind die /CE Pins auf GND?
nein

> Hast Du jetzt mal gecheckt ob die Address-Pins und /CE /OE /WE
> der beiden Sockel untereinander Verbindung haben?
/CE ja /OE ja /WE nein

> Und die Daten-Pins Verbindung zum XA51 haben?

DQ 0-7 gehen alle u.a. an den XA51 und haben Verbindung.

Habe nochmals alles gesäubert und mir unter einem Stereomikroskop die 
Lötstellen angeschaut, alles OK.
OP (Firma: Kai Weniger) #3516271
Hallo nochmal an alle,

Dank der mithilfe von rk(Gast) läuft die Schüssel wieder einwandfrei, 
Ursache war nun eine fehlende GND Verbindung und das die 
Originalbeschriftung an der Schüssel für RX/TX vom Hersteller falsch 
bedruckt wurde (vertauscht).

Danke nochmal an alle die sich mit um das Problem gekümmert haben.Ohne 
das Forum hier wäre das Ding schrott gewesen.

Kai...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.