[Ich pack mal eine Komplettkopie auf die Mailingliste, du hast das CC: vergessen]
* Johann Wurst megalomaniacmonkey@gmail.com wrote:
2009/7/27 Alexander Neumann fd0@koeln.ccc.de
- Johann Wurst megalomaniacmonkey@gmail.com wrote:
[neuerdings avrdude-Fehlermeldungs] [...]
avrdude: input file scheisse.bin auto detected as raw binary avrdude: writing flash (8 bytes):
Uhm, was tust du denn da? 8 Byte schreiben ist reichlich sinnfrei, das fuellt ja noch nichtmal die Interrupt-Sprungtabelle...
Das selbe Problem tritt auch bei "sinnvollem" beschreiben mit einem richtigen Programm.
wenn ich den flash-Speicher auslese, dann ergiebt das immer die gleiche Datei, zuerst alles mit FF00 aufgefüllt und am Ende dann der Bootloader.
Nicht 0xff? Oder wirklich immer abwechselnd 0xff und 0x00? (Letzteres faend ich sehr komisch)
Hmm ... also mein Hexeditor zeigt immer FF 00 FF 00 FF 00 an, das wäre doch 0xff und 0x00, oder? Aber wenn ich nochmal flashe und auslese bekomme ich manchmal auch F0 00 F0 00 oder andere Werte.
Aber wenn ich das Programm auf dem fnordlicht mit PuTTY -> 'X' starte, dann wird das letzte Programm gestartet, das ich erfolgreich flashen konnte. An der Kommunikation kanns ja nicht liegen, weil ich beim auslesen des Flashs immer das gleiche erhalte. Ist vielleicht einfach so eine Fuse gekippt? =(
Unwahrscheinlich, denn du kannst ja mit dem Bootloader reden und so. Weiterhin fuer unwahrscheinlich halte ich, dass der Flash-Speicher im Controller den Geist aufgegeben hat (moeglich ist das aber). Es kann sein, dass du auf einen bisher unbekannten Bug im foodloader (den im fnordlicht verwendeten Bootloader) gestossen bist. Damals sind wir eigentlich davon ausgegangen, dass niemand nur so ein paar Bytes schreiben will, wenn er den Controller vorher komplett geleert hat... Probier doch mal, wirklich ein Programm zu flashen, und nicht nur so ein paar Byte...
Bei einem Programm (so zwischen 4000 und 5500 Byte gross) passiert genau das selbe, auch dort "failt" avrdude. Wenn ich aber eine Hexdatei mit FF 00 FF 00 ... flashe, dann bleibt die Fehlermeldung aus. Deshalb vermute ich, dass der Bootloader beim Schreiben einfach gar nichts schreibt(die Funktionalität des Fnordlichts bleibt immer die gleiche wenn ich per X das Programm starte) und beim Lesen fälschlicherweise statt dem alten Programm einfach irgendetwas sendet. Hmm ... der Flash-Speicher kann ja nicht kaputt sein, weil sonst der Bootloader+das alte Programm nicht mehr gehen würden(?). Gibt es sonst noch eine Möglichkeit?
Uha, das wird obskur. Hast du mal geschaut, ob der max232 richtig in seinem Sockel sitzt? Eventuell mal einen anderen Pegelkonverter ausprobieren oder so. Ich glaub eigentlich nicht, dass das Programm auf dem Controller kaputt ist, vermutlich eher ein Wackelkontakt (oder was anderes) in der Hardware...
Gruss, - fd0