mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verständnisproblem Bootloader


Autor: Zimtsteak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen

Ich bin gerade daran mich über Bootloader zu informieren und bin deshalb 
nicht ganz sicher ob ich alles richtig verstandne habe.

Meine Fragen:


1. Gehe ich richtig in der Annahme, dass wenn ein Bootloader auf dem AVR 
ist, dass man dann jedes Programm(nicht für Booltloader vorgesehen) dann 
draufspielen kann, ohne dass man daran was anpassen muss?

2. Wenn die richtigen Lockbits und Fuse gesetzt sind kann der Bootloader 
eigentlich gar nicht überschrieben werden.  Und so kann man immer ein 
Programm draufspielen?

3. Wenn der Bootloader mit den richtigen Lockbits und Fuse geschützt 
ist, dann ist es eigentlich unmöglich den Bootloader zu zerstören oder 
geht des doch?


Gruss

Zimtsteak

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zimtsteak wrote:

> 1. Gehe ich richtig in der Annahme, dass wenn ein Bootloader auf dem AVR
> ist, dass man dann jedes Programm(nicht für Booltloader vorgesehen) dann
> draufspielen kann, ohne dass man daran was anpassen muss?

Jain.
Bei AVRs ohne Bootsektion muß der erste Befehl ein RJMP sein.


> 2. Wenn die richtigen Lockbits und Fuse gesetzt sind kann der Bootloader
> eigentlich gar nicht überschrieben werden.  Und so kann man immer ein
> Programm draufspielen?
>
> 3. Wenn der Bootloader mit den richtigen Lockbits und Fuse geschützt
> ist, dann ist es eigentlich unmöglich den Bootloader zu zerstören oder
> geht des doch?

Jain.
Bei AVRs ohne Bootsektion kann die Applikation auch Schreibbefehle 
ausführen und den Bootloader zerstören.
Ein versehentliches selber Überschreiben sollte ein Bootloader abwehren.


Peter

Autor: Zimtsteak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Peter für die rasche Antwort

Gruss

Zimtsteak

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ein versehentliches selber Überschreiben sollte ein Bootloader abwehren.

Das funktioniert nur bei AVRs mit separater Bootsektion zuverlässig, da 
dort Lockbits das SPM in die Bootloadersektion sperren können. Ansonsten 
kann der Bootloader nur beim Laden der Applikation das Flashen in seinen 
Bereich untersagen, nicht aber wenn die Applikation bereits läuft und 
dumme Sachen macht ;-)

Autor: 3357 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Applikationsprogramm muss fuer den Bootloader vorgesehen sein, dh es 
darf die flashgroesse minus die Bootloadergroesse nicht ueberschreiten.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Travel Rec. wrote:
>>Ein versehentliches selber Überschreiben sollte ein Bootloader abwehren.

> Ansonsten
> kann der Bootloader nur beim Laden der Applikation das Flashen in seinen
> Bereich untersagen, nicht aber wenn die Applikation bereits läuft und
> dumme Sachen macht ;-)

Sagte ich bereits.
Das selber Überschreiben kann (und sollte) der Bootloader verhindern.
Das Überschreiben durch die Applikation kann er natürlich nicht 
verhindern, er ist ja dann nicht aktiv.

Bei AVRs mit Bootsektion kann die Applikation nicht auf den Flash 
schreiben. Der Bootloader ist also geschützt auch ohne die Lockbits zu 
setzen.
Und auch mein APi-Call macht einen Adreßcheck, bevor er die 
Schreibanforderung der Applikation ausführt.


Peter

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Bei AVRs mit Bootsektion kann die Applikation nicht auf den Flash
>schreiben.

Hmm - wieder was gelernt. Man (ich) sollte das Datenblatt genau lesen 
:o).

>Und auch mein APi-Call macht einen Adreßcheck, bevor er die
>Schreibanforderung der Applikation ausführt.

Meiner auch.

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.