AppNote AVR911

#249751
Lesenswert?

Hallo Leute,

vielleicht hat sich jemand schon mal mit der AppNote 911 von Atmel
(Stichwort "AVROSP") beschäftigt.
Also ich habe am Wochenende genau das getan. Nach einem ersten Test,
musste ich mir erst mal Bloodshed runterladen (was ja eher noch ein
Vorteil ist). Dann konnte ich meinen Bootloader im ATmega32 (nach
AppNote 109) ansprechen. Er wird als Bootloader erkannt und man kann
zum Beispiel die Fuses lesen, die Signatur ermitteln und so weiter.

Jetzt kommt das Problem : Versucht man das Flash zu lesen, liest er ein
zwei Seiten und bleibt dann hängen, bis der Timeout erreicht ist und
bricht dann ab (also AVROSP beendet mit Fehlermedlung).

Ich habe mal folgendes untersucht :
 - Verbindungseinstellungen von COM2 (verwendet) stimmen
(Geschwindigkeit, Parity und der ganze Kram)
 - der Bootloader kann das Flash korrekt lesen, wenn ich eine einfache
Testroutine mit MATLAB bastle und damit lese (ist eben
schnarchelangsam, weil Programmierung in Matlab eine Skriptsprache
ist)
 - implementiere ich die Testroutine in C++ mit dem SerialPort-Objekt
aus der AppNote, dann kann ich wieder die ganzen einfach-Funktionen
ausführen, nur beim Lesen des Flash/EEPROM der gehabte Fehler

Meine Vermutungen : In AVROSP wird die serielle SChnittstelle als
Datei-Stream geöffnet. Dabei werden logischerweise
Betriebssystemfunktionen verwendet. Wenn man jetzt den Befehl zum Lesen
des Speichers anschaut, dann stellt man fest, dass der aus 4 Byte
besteht. Ich vermute, dass das Schreiben auf das Betriebssystem-Objekt
Datei aus irgendeinem Grund einen Teil der gesendeten Information
verhackstückelt. Einen Fehler im Bootloader würde ich als
unwahrscheinlich einstufen, da es ja schließlich mit Matlab
funktioniert.

Meine Fragen :
 - kennt jemand ein Tool, mit dem man die gesendete Information auf dem
seriellen Port einfach mitschneiden kann (freeware, bzw. open-source) ?
 - hat jemand Erfahrung mit der AppNote AVR911 und kann mir zum Problem
etwas berichten ?
 - Hat jemand Erfahrung mit der in der AppNote verwendeten
Programmierung der seriellen SChnittstelle und kann mir dazu Hinweise
geben, wie man da die Klippen umschifft ?

Was ich nicht will :
 - einen anderen Programmer benutzen (habe ich schon ;-) )
 - Hinweise a la RTFM - ich habe genügend Ms zu Hause

Vielen Dank für Eure sachdienlichen Hinweise, Daniel
Gast #249754
Lesenswert?

> Hat jemand Erfahrung mit der in der AppNote verwendeten
> Programmierung der seriellen SChnittstelle und kann mir dazu
Hinweise
> geben, wie man da die Klippen umschifft ?

Sieht auf den ersten Blick wie ein "normales" non-overlapped
Interface aus. Evtl. kann man etwas mit den Timeouts herumspielen
(laenger machen).
#249755
Lesenswert?

Hallo,

erst mal Danke an Rufus - ich werde das heute abend oder morgen mal
ausprobieren.

@mthomas - die timeouts sind da schon bei 5s - das ist schon viel zu
viel. So lange braucht mein Bootloader garnicht, bis er die Daten
gefunden und abgschickt hat. Trotzdem danke für den Hinweis.

MfG, Daniel

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren