Forum: Mikrocontroller und Digitale Elektronik eDIP240 LCD Firmware


von Dom i. (dodouelv)


Lesenswert?

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

von holger (Gast)


Lesenswert?

>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;)

von Dom i. (dodouelv)


Lesenswert?

nein haben sie ja anscheinden nicht, denn ich konnte ja das Display 
programmieren und auch den programmierten Flash wieder zurück lesen...

von holger (Gast)


Lesenswert?

>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.

von Dom i. (dodouelv)


Lesenswert?

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.

von holger (Gast)


Lesenswert?

>> 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.

von Eumel (Gast)


Lesenswert?

Frag doch die Leute von EA mal ob du das Display hinschicken kannst und 
die dir das neu flashen. Einen Versuche ist es Wert :)

von holger (Gast)


Lesenswert?

>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;)

von Dom i. (dodouelv)


Lesenswert?

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

von holger (Gast)


Lesenswert?

>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.

von spontan (Gast)


Lesenswert?

Die Leute bei EA beißen nicht.
Was hält Dich ab?

von Dom i. (dodouelv)


Lesenswert?

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...

von Spess53 (Gast)


Lesenswert?

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

von Bernd S. (bernds1)


Lesenswert?

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

von Thomas V. (Gast)


Lesenswert?

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.

von Dom i. (dodouelv)


Lesenswert?

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

von Dom i. (dodouelv)


Lesenswert?

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

von Ralph (Gast)


Lesenswert?

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

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

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

von klaus-Günter (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.