Hallo Leute, ich habe wohl die Firmware meines eDIP240J7LW zerschossen. Und zwar ist das folgendermaßen passiert: Ich will mit einem ATMega das Display über die SPI-Schnittstelle ansteuern. Dazu benutze ich nat. die interne SPI-Schnittstelle des µC. Nun hängt an der SPI aber auch noch der Programmier-Adapter für die ISP. Daraus folgt das beim Proggen des µC evtl. der MISO-Ausgang des µC und der MISO-Ausgang des Displays gegeneinander treiben. Also habe ich mir gedacht, hänge ich doch einfach den Reset-Pin des Displays an den Reset-Pin des µC, um die Display-SPI im Prinzip zu "deaktivieren". Steht nix im Datenblatt dazu, ob das zulässig ist oder nicht, und ein Versuch wars wert. Das hätte ich mal lieber nicht gamacht!!! Denn: Auf dem Display befindet sich ein ATMega32 (TQFP32, der mit dem Aufkleber mit Versionsnummer, bei mir V1.8) der die Steuerung übernimmt. Und dessen SPI-Pins sind eben die zum steuern des Displays. Auch der Reset des ATMega32 ist direkt mit dem Reset-Pin des Displys verbunden. So und jetzt mal scharf nachdenken was passiert wenn man seinen µC programmieren will. Genau -> Supergau Denn beim ersten Programmierversuch meines µC wurde mein Programm auch in den Flash des ATMega32 auf dem Displays programmiert. Blöde sache, denn das war der Todesstoß für das Display. Und darauf zu kommen, dass ich quasi die Firmware des Displays überschrieben habe hat schon ne zeit lang gedauert. Am Display geht nämlich halt gar nix mehr, nicht mal das Licht geht an. Ich war kurz davor ein zweites zu kaufen, weil ich dachte es sei irgendwie kaputt. Also, kann mir bitte jemand Helfen und die Firmware aus seinem Display auslesen!? Genaue Bezeichnung ist eDIP240J7LW Programmieren meines Display-Controllers geht einwandfrei über dessen ISP, nur brauche ich eben die Firmware die drauf war, V1.8 stand auf dem Aufkleber. Auslesen sollte das ja dann auch jeder können, der so ein Display hat. Das HEX-File würde mir reichen. Fuses sind noch gesetzt, die hatte ich zum Glück nicht gändert. Vielleicht hat auch noch einer nen Tip wie ich das mit der SPI Schnittstelle und den parallel geschalteten Slaves beim programmieren des µC löse. Das Problem hat man ja sicher öfters. Ich finde es schon seltsam das der Hersteller des Displays nicht ein versehentliches programmieren des Displays verhindert. Gibt es da nicht Fuses die man setzen kann!? Ich habs grad nicht im Kopf. Danke schonmal für Antworten, Dominik
>Auslesen sollte das ja dann auch jeder können, der so ein >Display hat. Dummerweise wird Electronic Assembly wohl die Lockbits gesetzt haben. Das Teil ist hinüber. Kannst ja versuchen eine eigene Firmware zu schreiben;)
nein haben sie ja anscheinden nicht, denn ich konnte ja das Display programmieren und auch den programmierten Flash wieder zurück lesen...
>nein haben sie ja anscheinden nicht, denn ich konnte ja das Display >programmieren und auch den programmierten Flash wieder zurück lesen... Das kannst du auch wenn die Lockbits gesetzt sind. Kommt halt nur Unsinn raus.
holger schrieb: > Das kannst du auch wenn die Lockbits gesetzt sind. > Kommt halt nur Unsinn raus. Es kam aber ganau das raus was ich programmiert hatte. Hab stichprobenartig die Bytes verglichen. Außerdem hätte ich dann ja nicht feststellen können, dass ich die Firmware überschrieben habe, wenn beim Rücklesen nur Unsinn raus gekommen wäre.
>> Das kannst du auch wenn die Lockbits gesetzt sind. >> Kommt halt nur Unsinn raus. >Es kam aber ganau das raus was ich programmiert hatte. Hab >stichprobenartig die Bytes verglichen. Beim programmieren hast du die Lockbits gelöscht. Natürlich kannst du dann dein gebranntes Programm zurücklesen. Wenn du das Display ausliest ohne vorher zu programmieren bleiben die Lockbits gesetzt und du liest Müll aus.
Frag doch die Leute von EA mal ob du das Display hinschicken kannst und die dir das neu flashen. Einen Versuche ist es Wert :)
>Frag doch die Leute von EA mal ob du das Display hinschicken kannst und >die dir das neu flashen. Einen Versuche ist es Wert :) Die Information "WIE" man das Ding zerschiessen kann sollte wohl einen kleinen Gefallen wert sein. Die hätten ja wenigstens per JTAG die SPIEN Fuse löschen können. Verweis doch einfach mal auf diesen Thread. Das könnte helfen;)
Ich habe gerade nochmal das Datenblatt des ATMega32 zu Rate gezogen. Wenn man LockBits setzt, um den Flash nicht auslesen zu können, kann man zwangsläufig auch nicht schreiben. Das wäre wohl LB Mode 3 Zitat: LB Mode LB2 LB1 1 1 1 No memory lock features enabled. 2 1 0 Further programming of the Flash and EEPROM is disabled in Parallel and SPI/JTAG Serial Programming mode. The Fuse bits are locked in both Serial and Parallel Programming mode. 3 0 0 Further programming and verification of the Flash and EEPROM is disabled in Parallel and SPI/JTAG Serial Programming mode. The Fuse bits are locked in both Serial and Parallel Programming mode. Vielleicht kann es ja mal jemand versuchen, der auch ein Display zur Hand hat... Dominik
>Vielleicht kann es ja mal jemand versuchen, der auch ein Display zur >Hand hat... Zwecklos. Dein Display ist Schrott und keiner kann dir die Firmware auslesen.
spontan schrieb: > Die Leute bei EA beißen nicht. > Was hält Dich ab? Das Wochendende!? Muss ich halt bis Montag warten, ich hatte mir eigentlich ein bisschen mehr Hilfe erhofft...
Hi >ich hatte mir >eigentlich ein bisschen mehr Hilfe erhofft... Für die Zukunft: http://www.atmel.com/Images/doc2521.pdf da steht drin, wie man es richtig macht. MfG Spess
Spess53 schrieb: > > Für die Zukunft: > > http://www.atmel.com/Images/doc2521.pdf > > da steht drin, wie man es richtig macht. > > MfG Spess Oder auch, wie man es nicht macht... Schau dir mal Bild 6-1 genau an, besonders die Pins 8 und 9 :-) Okay, ist ein Flüchtigkeitsfehler, ansonsten ist das Dokument eine gute Richtlinie... Gruß Bernd
wir als Firma haben schon mal von EA für ein ähnliches Display die Firmware kostenlos per email bekommen, auch das Tool zum flashen. Wir kaufen allerdings auch tausende bei den denen ;-) Ein Anruf kostet (fast) nichts.... wobei die gelegentlich Privatpersonen nicht helfen möchten.
Spess53 schrieb: > Hi > >>ich hatte mir >>eigentlich ein bisschen mehr Hilfe erhofft... > > Für die Zukunft: > > http://www.atmel.com/Images/doc2521.pdf > > da steht drin, wie man es richtig macht. > > MfG Spess Danke für das Hilfreiche Dokument. Ja, die Widerstandsmethode wäre die 2. alternative nach dem Reset-Pin gewesen. Wie ich eben bemerkt habe wird beim Programmieren des Controllers immer ein Chip-Erase (zumindest beim AVR-Studio) durchgeführt, wodurch nat. die Lock-Bits gelöscht werden. Daher ist es wohl egal, ob sie mal gesetzt waren oder nicht... Früher gabs noch EPROMS, damit wäre sowas nicht passiert! Naja, der Fort-Schritt eben :-) Egal, ich habe mal bei EA nach ner neuen Firmware angefragt, allerdings nicht als Privatperson, sondern von der Firma aus. Mal sehen was passiert. Dominik
Um das hier abzuschließen: Im Endeffekt haben sie die Firmware nicht rausgerückt. Ich habe die Displays (es waren insgesamt 2, die nicht funktioniert haben) eingeschickt. Sie wurden neu programmiert und funktionieren jetzt wieder. ABER: Der Spaß hat 94€ gekostet, meiner Meinung nach eine Frechheit... , wenn das mit dem Reset wenigstens richtig dokumentiert wäre, könnte ich den Preis nachvollziehen, aber das ist meiner Meinung nach abzocke... Ich glaube ich kaufe keine Displays mehr bei EA!!! Nur so als Idee: Es wäre relativ einfach möglich z.B. über AND-Gatter die SCK, und MOSI Leitung mit dem Reset-Signal zu verknüpfen, sodass der LCD-Controller nur dann Daten über SPI erhält, wenn der Reset High ist! Zum Programmieren dann einfach die Reset-Leitung von den AND-Gates weg (z.B. Jumper + Pull-Down). Da wäre sicherlich noch Platz auf dem LCD-Board... Dominik
Hallo Dominik Das ist ja wirklich ärgerlich ! So ein Fauxpas kostet bei ELECTRONIC ASSEMBLY normalerweise nichts und wird absolut kulant bearbeitet. In der tat steht es nicht explizit im Datenblatt, das sollte besser gemacht werden. Auf die 94.- EUR würde ich mal einen Entwickler dort ansprechen; die beissen wirklich nicht und finden normalerweise für alles eine Lösung (sind ja auch Technik-Freaks wie du und ich). Ralph
Hallo Dominik, ich kann Thomas V. nur bestätigen: Bei mehreren Kunden setzen wir seit vielen Jahren verschiedene EA-Displays ein. Als Entwickler bekomme ich dort zuverlässig einen sehr kompetenten und freundlichen Support. Als ich vorhin in der Mittagspause über diesen Thread gestolpert bin, habe ich EA angeschrieben. Ergebnis war innerhalb von zwei Stunden Ralphs Post hier und die Zusicherung, dass die Datenblätter angepasst werden. Ich denke damit ist allen geholfen. Grüße, Marcus
Hallo, Könnte mir denn bitte mal einer Erklären warum mann für diesen in meinen Augen langsamen eDIP240J7LW soviel Geld ausgibt, obwohl bessere Alternativen gibt .
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.