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.
:
Bearbeitet durch User
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.
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.
:
Bearbeitet durch User
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?
Hier die update.hex als update.bin und von 16-Bit auf 2x8 gesplitted..
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.
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..
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 ?? :-)
:
Bearbeitet durch User
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 ?
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!
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.
:
Bearbeitet durch User
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..
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.
:
Bearbeitet durch User
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 ?
Miss mal nach, ob die D0 Pins der beiden Flash miteinander verbunden sind (Null Ohm). Wenn ja, dann ist es 8 Bit Busbreite (und muss anders gesplittet werden).
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 :-(
Georg G. schrieb: > Miss mal nach, ob die D0 Pins der beiden Flash miteinander verbunden > sind (Null Ohm). Wenn ja, dann ist es 8 Bit Busbreite (und muss anders > gesplittet werden). habe ich gemacht, wenn du DQ0 Pin13 meinst, die sind nicht verbunden, ca.1,8kOhm.
Dann ist es ein 16 Bit Bus. Bleibt die Frage, welches Flash die oberen und welches die unteren Bits hat. Hast du mal die Flash vertauscht?
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.
:
Bearbeitet durch User
Der Bootloader muss im Flash an Adresse 3:8000 sein. Wenn da kein Bootloader ist geht's nicht. In upgrade.hex ist der Bootloader nicht drin..
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
x1C000 klingt sehr gut, das ist nämlich genau die Hälfte der oben genannten x38000 als Bootadresse. Mein ZIP behauptet übrigens die angehängte Datei wäre korrupt.
Dieter Werner schrieb: > Mein ZIP behauptet übrigens die angehängte Datei wäre korrupt. klingt ja nach Hoffnung, hier noch mal die Dateien einzeln, einmal als Hex und als bin gespeichert.
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.
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....
Das geht doch mit jedem beliebigen Texteditor. Einfach aus dem Original herauskopieren und in den gesplitteten Dateien die FF an den gleichen Adressen überschreiben.
Dieter Werner schrieb: > Das geht doch mit jedem beliebigen Texteditor. Einfach aus dem Original > herauskopieren und in den gesplitteten Dateien die FF an den gleichen > Adressen überschreiben. OK danke, rk(Gast) kümmert sich drum, mal schauen obs klappt.
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 ?
:
Bearbeitet durch User
>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?
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.
:
Bearbeitet durch User
>> 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.
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.
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.
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.
:
Bearbeitet durch User
Kai Weniger schrieb: > DQ 0-7 gehen alle u.a. an den XA51 und haben Verbindung. Weiter oben schreibst du, dass die DQx Pins nicht miteinander verbunden sind.
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...
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.