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?
Erwartest Du darauf wirklich eine Antwort, die Dir hilft? Welcher Controller? Welcher Bootloader?
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?
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.
"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
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 ?
"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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.