mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR-Bootloader und dann ?


Autor: Pit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

seit einiger Zeit beschäftige ich mich mit dem Thema Bootloader für die
AVR's. Dazu habe ich auch schon einiges gelesen (AVR Appnote, Peter
Danneggers Bootloader, Peter Fleurys Bootloader, Megaload usw.) und
hier im Forum die Threads mit diesem Thema verfolgt.

Eines habe ich jedoch nicht gefunden, oder ich sehe den Wald vor lauter
Bäumen nicht :-), und zwar mit welchem Programm ich die
Applikationssoftware in den AVR flashen kann. Wie ich den Bootloader
installieren kann weiß ich.
Mit welchen Programmen flasht ihr denn so? Und welche Erfahrung habt
ihr damit gemacht.

Danke schon mal im voraus.

Pit

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

beim AVR weiß ich das gerade nicht, da habe ich bisher noch keinen
Bootloader verwendet (kommt nocht :-).
Aber bei den Freescale Hybrid Processoren, die ich zur Zeit viel
verwende, habe ich mir ein kleines Delphiprogramm dafür geschrieben.
Ansonsten geht es aber auch mit jeden Termialprogramm. Am einfachten,
wenn das Programm direkt eine komplette Datei senden kann.

Autor: kojote (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir haben mal avr-dude 5.0 benutzt.

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Bootloader-Paket vom Peter Danegger ist ein
PC Programm dabei: PBOOT.EXE
Den Bootloader flasht du in den AVR. Fuses richtig
setzen nicht vergessen!
Dann wird der AVR resetted. Wenn der AVR startet wartet
er eine kleine Weile, ob an der Seriellen was daherkommt.
Das ist deine Chance: Du startest am PC PBOOT.EXE (kann man
auch schon vor dem Reset starten) und PBOOT.EXE überträgt
das gewünschte HEX-File an den AVR.

Autor: Pit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Karl Heinz,

habe jetzt im Bootloader -Paket vom Peter Dannegger nachgeschaut und
auch die PBOOT.EXE gefunden. Habe das Programm mal geöffnet (ohne einen
AVR am COM1 zu haben) und es läuft auch.
Wenn ich aber versuche etwas einzugeben, habe da an den Datei-Pfad der
zu überspielenden .hex-Datei gedacht, dann schliesst sich das Fenster
sofort wieder.
Was mache ich da noch verkehrt? Oder habe ich die Funktionsweise der
PBOOT.EXE nicht verstanden?
Ich habe kurz in die PBOOT.C geschaut aber in der schnelle keinen
Hinweis gefunden wie ich die Datei angeben kann.
Oder muss erst ein AVR mit Bootloader an der entsprechenden COM
hängen?

Pit

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst das ganze von einer DOS-Box aus machen.
PBOOT möchte Command-Line-Argumente.

Ich bin jetzt nicht an meinem AVR-Arbeitsrechner.
Daher aus dem Gedächtnis:

Ruf mal PBOOT mit einem '?' auf. Oder '-?'
Da musste eine Hilfe angezeigt werden.

Mein Aufruf schaut so aus (wieder aus dem Gedächtnis)
PBOOT -b9600 -ptest.hex

Läuft das ganze dann, kannst du dran gehen den PBOOT
mal in deine Entwicklungsumgebung zu integrieren.

Autor: Pit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Karl Heinz

dein Tipp die PBOOT.EXE mit einem ? aufzurufen war richtig. Die
Parameter die mit aufgerufen werden müssen, werden angezeigt.

Ich habe vor den FTDI-Chip FT232RL als Schnittstellen-Baustein zum AVR
hin einzusetzen (aus Ermangelung einer seriellen an meinem Notebook)
Damit ich den FT232 über USB ansprechen kann muss ich ja eine virtuelle
COM-Schnittstelle einrichten. Sollte mit der Software von FTDI kein
Problem sein, aber ich gehe mal davon aus dass ich dann nicht mehr mit
der PBOOT.EXE auf diesen Port zugreifen kann. Oder doch?

Autor: Atmega8 Atmega8 (atmega8) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal bei
 http://www.matwei.de/doku.php?id=de:elektronik:usbisp

Der mathias weißner hat einen Solchen Chip FT245BM (USB -> Parallel)
von FTDI verwendet und hat in dem ATmega8 einen Bootloader, mit dem man
die "Firmware" über USB per AVRdude updaten kann.

lg

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Pit

Wenn die FTDI-Chips als COM im Gerätemanager erscheinen, sollte es
gehen (nur auf COM1 ... COM4 einstellen).

Ich benutze den Bootloader am Notebook mit dem Reichelt USB/RS-232
Konverter (~10,-€) und da geht es jedenfalls.


Peter

Autor: Pit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter

Danke für den Tipp, ich werde es dann  mal mit deinem Bootloader
ausprobieren.

Möchte mich auch bei den anderen für ihre Unterstützung  bedanken!

Und wer noch etwas zu diesem Thema beitragen möchte, nur raus damit
:-).

Pit

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benötige ich für die Bootloader alle Leitungen der RS232 ??
Ich nutze bei einem Projekt nur Rx und Tx ??
Kann ich trotzdem den Bootloader verwnden ??

Viele Grüße
Nils

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GND wirst du auch noch brauchen :-)

Ja sollte gehen.

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GND !!! Hätte ich auch noch im Angebot.
....aber so RTS, DTR, ARD, CDU und SPD brauche ich nicht, oder ??
Nur Rx, TX und GND

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Studier doch einfach mal, wofür die anderen Leitungen
gut sind :-)

RTS/CTS   -  Request to send / Clear to send

    Diese Leitungen regeln ein Hardware-Handshake. Salopp gesagt
    teilt das eine Gerät dem anderen mit, ob es aufnahmebereit
    ist oder nicht. Es ist also die hardwaremässige Möglichkeit
    mitzuteilen: Warte mal, ich muss das was du mir bisher
    gesendet hast, erst mal verdauen.

Hardwarmässiges Handshake ist eine Möglichkeit, eine andere
ist softwaremäßiges Handshake. Anstatt eine Leitung zu ziehen,
schickt der Partner der den anderen zum kurzzeitigen Einstellen
der Sendung bringen möchte, ein spezielles Zeichen. Ein anderes
spezielles Zeichen teilt mit: Jetzt kanns weitergehen.

Und schliesslich kann man auch ohne Handshake fahren: Wenn
sichergestellt ist, dass der einlaufende Datenstrom ohne
Probleme verarbeitet werden kann, kann man auf Handshake auch
komplett verzichten.

Letztendlich hängt es also von der Übertragungsrate ab, ob
du Handshake brauchst oder nicht. Je höher die Übertragungsrate,
desto weniger Zeit steht zwischen 2 Zeichen zur Verfügung.

Ein Bootloader wird sich sinnigerweise ein Softwaremässiges
Handshake direkt ins Übertragungsprotokoll einbauen. Damit ist
er auf jeden Fall auf der sicheren Seite.

Die restlichen Leitungen haben mehr informativen Charakter.

Autor: Bratensosse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um nicht ein neues Thema anzugreifen hänge ich mich mal mit dazu:-)

Falls ich keinen Handshake nutzen will (also nur RX, TX, GND) muss ich 
dann RTS/CTS auf ein bestimmtes Potential hängen? oder kann ich die 
einfach offen lassen. Im datenblatt steht leider nicht ob die intern 
schon "ge-pullup-t" oder "ge-pulldown-t" sind.

Speziell geht es um den FTDI232R

Grüße

Autor: annerer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
verwendet selber die kombination FTDI232R mit tiny2313. da sind nur tx 
und rx angeschlossen, am FTDI kannst du die anderen leitungen ienfach 
offen lassen. eine beispielapplikation steht soweit ich weiß auch im 
datenblatt.

Autor: Bratensosse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke annerer

im datenblatt waren mindestens immer CTS und RTS mit angeschlossen;-)

aber danke für die info:-)

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.