AppNote AVR911

OP #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).
OP #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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.