Bootloader >64k

Gast #3073702
Lesenswert?

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 #3074643
Lesenswert?

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 #3115278
Lesenswert?

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