www.mikrocontroller.net

Forum: PC-Programmierung AppNote AVR911


Autor: Daniel Braun (khani)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sollte das von Dir nicht namentlich genannte OS zufälligerweise Windows
sein, kannst Du als Mithörer an der seriellen Schnittstelle dies hier
verwenden: http://www.sysinternals.com/Utilities/Portmon.html

Autor: Daniel Braun (khani)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

bitte entschuldigt, dass ich vergessen habe, mein System zu nennen:

OS: Windows 2000
CPU: Athlon irgendwas mit viel schnell
Dev-IDEs : Bloodshed DEV-Cpp (Windows), WinAVR mit pn2 (AVR)

MfG, Daniel.

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Daniel Braun (khani)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.