Forum: Mikrocontroller und Digitale Elektronik Verständnisproblem Bootloader


von Zimtsteak (Gast)


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

von Peter D. (peda)


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

von Zimtsteak (Gast)


Lesenswert?

Danke Peter für die rasche Antwort

Gruss

Zimtsteak

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


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 ;-)

von 3357 (Gast)


Lesenswert?

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

von Peter D. (peda)


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

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.