Verständnisfrage zu boot_page_write

OP #1649077
Lesenswert?
• ▲
▼
Hallo zusammen,

ich bin gerade dabei einen Bootloader zu schreiben. Das klappt soweit 
auch schon ganz gut, sodass ich meine Daten vom PC auch Richtung 
ATMega32 bekomme. Nun muss ich diese allerdings noch in den Flash 
schreiben.

Bei dem Befehl boot_page_write, boot_page_erase habe ich allerdings 
leichte Fragezeichen.

In der Note steht folgendes:
Note: address is a byte address in flash, not a word address.

Das bedeutet doch, dass ich max 00-FF adressieren kann. Wenn ich mir nun 
das Datenblatt von ATMega32 anschaue, steht da drin, dass es 256 Pages 
gibt. Soweit passt es ja. Bedeutet das nun, dass ich in Wirklichkeit der 
Funktion die Pagenummer und nicht die Adresse übergebe?
Das heißt, ich kann beim schreiben einfach page++ machen?

Was mich halt wundert, dass die Funktion boot_program_page (uint32_t 
page, uint8_t *buf), ebenfalls aus der Bibliothek, als Page 32bit 
verwendet.


Gruß

Lars

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.