Bootloader Pages

Gast #330349
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?
#330350
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.
Gast #330351
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
Gast #330352
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 ?
Gast #330353
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren