Forum: Mikrocontroller und Digitale Elektronik Bootloader Pages


von Marcel (Gast)


Lesenswert?

Sind die Bootloader Pages eigentlich fest vorgegeben d.h haben die alle
feste Anfangsadressen? Oder ist das völlig egal wo eine Page anfängt
und ich kann diese selber bestimmen?

von Dirk D. (dirkd)


Lesenswert?

Erwartest Du darauf wirklich eine Antwort, die Dir hilft?

Welcher Controller? Welcher Bootloader?

von Marcel (Gast)


Lesenswert?

Ich rede generell von 8 Bit Avrs. Ich rede nicht von der Bootloader SW
sondern vom Bootloader im AVR selber.

Wenn ich somit eine Page schreiben will und die Startadresse angebe ist
es dann egal welche Adresse ich nehme oder fängt zum die erste Page
immer Bei 0x0000 an oder kann ich die erste Page auch bei 0x0005
anfangen lassen?

von Karl H. (kbuchegg)


Lesenswert?

Nun ja.
Denken wir mal logisch.
Mal angenommen, du könntest die Startadresse frei vergeben.
Dann müsste es auch eine Möglichkeit geben, wie man dem
Prozessor sagt, wo sie denn genau ist, denn erraten kann
er das nicht. Die einzige Möglichkeit, wie man bei einem AVR
irgendetwas ohne ein geflashtes Programm einstellen kann (*)
sind die Fuses. Wenn also Deine Annahme stimmen würde, dann
müsste es Fuse-Bits geben, mit denen Du die Startadresse aufs
Byte (Word) genau einstellen kannst. Nun schnapp dir ein Daten-
blatt und sieh nach ob es die gibt. (Du kannst auch ein
Brennprogramm nehmen, und ganz einfach nachsehen ob die so
was anbieten). Das tun sie nicht, ergo ...

Super: Problem nur durch Nachdenken gelöst und noch nicht mal
ins Datenblatt geschaut.


(*) das per Programm einstellbar zu machen, scheidet aus
naheliegenden Gründen aus.

von peter dannegger (Gast)


Lesenswert?

"Ich rede generell von 8 Bit Avrs. Ich rede nicht von der Bootloader SW
sondern vom Bootloader im AVR selber."


Na dann ist ja schon mal die halbe Katze ausm Sack. Warum kannts Du das
nicht gleich sagen ?


Katze ganz ausm Sack wäre, dann noch den Typ zu nennen, denn die
Bootloaderadresse ist bei jedem AVR unterschiedlich.

Oder gleich ins Datenblatt schauen, da stehts drin.

Oder im AVR-Studio-Programmer den Typ auswählen und auf die Fusebits
gehen, da stehen die möglichen Startadressen auch drin.


Peter

von Marcel (Gast)


Lesenswert?

ich glaube wir schreiben an einander vorbei :-).

Wenn meine Bootloader SW eine Page im Flash beschreiben soll, muss ich
vor dem Page schreiben erstmal den Pagebuffer füllen und eine
Pagestartadresse angeben damit der Controller überhaupt weiss wohin die
Page soll. Normal wäre z.B wenn ich die erste Page schreibe die Adresse
0x0000. Jetzt gehen wir mal davon aus, dass ich nicht 0x0000 als
Adresse angebe sondern 0x0005. Würde das gehen ?

von peter dannegger (Gast)


Lesenswert?

"ich glaube wir schreiben an einander vorbei :-)."

Das kommt davon, wenn man Dir erst alles umständlich aus der Nase
ziehen muß. Vielleicht solltest Du die Fragen erstmal offline erstellen
und nochmal durchlesen.


Laut Datenblatt wird immer die komplette Adresse übergeben.

Befehle auf die Page ignorieren die unteren Bits, Befehle auf den
Pagebuffer die oberen Bits.

Welches die oberen und die unteren Bits genau sind, steht im Datenblatt
Deines immer noch unbekannten AVRs.


Peter

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.