Bootloader >64k

Gast #3073702
Hallo Leute,

ich hab ein Problem meinen bootloader von atmega640 auf atmega1280 
umzustellen.
Umstellung ist notwendig, weil das Programm mehr als 64kbyte flash 
benötigen wird.

Soweit so gut, alle pgm_read_byte durch pgm_read_byte_far ersetzt, in 
beim compiler den typ geändert, dadurch wird aus jedem write ein 
write_extended.

Es sieht auch alles sehr gut aus, wenn ich einfach mal probeweise 
zusätzlich zu meinem Programm ein bestimmtes muster nach 0x1c000 flashe, 
ist es bei einem readout auch an dieser Stelle.

Allerdings funktioniert mein Programm nicht mehr, sobald ich etwas an 
0x1c000 (oder auch) 0x1a000 flashe... Scheint so, als ob zusätzlich 
noch etwas kaputt geschrieben wird. Das Programm an sich hat im moment 
erst 40k, also noch lange von den 64k entfernt.

Gibt es da noch irgendetwas zu beachten oder hatte jemand schonmal so 
ein Problem?
Gast
wenn der bootoader aufgespielt wird, wird der Rest  gelöscht.
Ich nehme an du flashst dann auch nur mit dem Bootloader.
Der Bootloader muss dann aber auch die Pages korrekt adressieren, sonst 
werden die Daten verstümmelt.
Gast

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 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.