Betrifft hier ATmega328p (arduino) Kann man sich mit avrdude oder ggf. anderen tools (Linux) anzeigen lassen wo genau der Bootloaderbereich liegt und wie gross er ist, oder geht das nur über die fuses - also fuses lesen, Datenblatt suchen, etc. etc. ?
Der Bootloader-Bereich ist eine fixe Adresse. Und die steht im Datenblatt. Beim Xmega ist sie via BOOT_SECTION_START definiert
:
Bearbeitet durch User
...hmm, mit den Fuses stellt man den Bootloader-Bereich halt ein welcher dann für die Bootloader-Software zur Verfügung steht....verstehe jetzt Dein Problem nicht ? Wenn man wissen möchte welcher Bereich eingestellt ist, liest man die Fuses halt mit dem Programm seiner Wahl aus...
ich dachte den Bootloaderbereich kann über BOOTSZ0 und BOOTSZ1 der hfuse einstellen. Und wenn der BL bündig am Ende liegt verändert sich dadurch die Startadresse - oder lieg eich da völlig daneben ?
Stimmt. Also lies die Fuse aus, und schau im Datenblatt nach, welche Adressbereiche zu der Einstellung gehören. Oliver
ist das jetzt ein Befehl ? Die Frage war, ob man sich das anzeigen lassen kann, um sich die Wühlerei in den Datenblättern zu sparen und sich beim rechnen nicht immer wieder zu irren (z.B. SET=0 und unSET =1)
Timmo H. schrieb: > Der Bootloader-Bereich ist eine fixe Adresse. Und die steht im > Datenblatt. Beim Xmega ist sie via BOOT_SECTION_START definiert Die Frage war nicht, was im Datenblatt steht, sondern ob es möglich ist, die aktuelle Position des Bootloaderbereiches zu bestimmen, ohne die Fuses auszulesen. Und nichtmal die Fuses verraten, wie groß der genutzte Bereich tatsächlich ist. Und nein, der Bootloader-Bereich liegt nicht an einer fixen Adresse, sondern meist gibt es mehrere Möglichkeiten, von denen über die Fuses eine gewählt ist.
Wally W. schrieb: > ich dachte den Bootloaderbereich kann über BOOTSZ0 und BOOTSZ1 der hfuse > einstellen. Darüber wird sie eingestellt. > Und wenn der BL bündig am Ende liegt verändert sich dadurch > die Startadresse - oder lieg eich da völlig daneben ? Die ändert sich nicht. Der Bootloader wird ab dieser Startadresse installiert. Wieviel dann hinter dem Bootloader frei bleibt oder ob er überhaupt reinpasst, musst du selbst an der Größe des Programms ablesen. Eventuell bekommst du eine Warnung. mfg.
Thomas E. schrieb: > Die ändert sich nicht. klar ! , "bündig am Ende" ist natürlich Blösinn gibt es wirklich kein tool welches ein gesamtes Bild/Tabelle/Mapping des Speicher erzeugen kann ?
> gibt es wirklich kein tool welches ein gesamtes Bild/Tabelle/Mapping des > Speicher erzeugen kann ? Brain 1.0 kann das. Und Datenplatt ist ∗immer∗ die beste Anlaufstelle.
Wally W. schrieb: > Thomas E. schrieb: >> Die ändert sich nicht. > > klar ! , "bündig am Ende" ist natürlich Blösinn > > gibt es wirklich kein tool welches ein gesamtes Bild/Tabelle/Mapping des > Speicher erzeugen kann ? ...Du kannst halt laut Spezifikation den gesamten Speicher auslesen, genauso wie es jedes andere Programm z.B. nach dem Flash-Vorgang macht um den Speicherinhalt auf Fehler zu prüfen.... Du kannst je nach Umfang Deiner Entwicklungsumgebung bestimmt auch alle Speicherbereiche auslesen und meist in einem TXT-File ASCII-HEX codiert speichern.
Im AVRStudio Verzeichnis findest Du z.B. die "m328def.inc" und darin:
1 | .equ FIRSTBOOTSTART = 0x3f00 |
2 | .equ SECONDBOOTSTART = 0x3e00 |
3 | .equ THIRDBOOTSTART = 0x3c00 |
4 | .equ FOURTHBOOTSTART = 0x3800 |
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.