Hi Simon!
Ja, die AppNotes sind bekannt und genauso wie der Beispielcode AVR1316
für jeden der ähnliche Probleme hat eine echte Bank (inkl. der Treiber
sp_driver.h mit quellcode in sp_driver.s).
Ich konnte das Problem heute mit einem Kollegen beheben.
Entscheidend war die FLASH_BLOCK_SIZE auf 512 Bytes zu stellen UND in
unserem existierenden Bootloadercode einen Datentyp zu ändern.
Wir hatten bisher den Bootloader für einen ATMEGA laufen mit einer
Flashblockgröße von 256 Bytes. Genutzt wurde boot_pagefill aus der
boot.h.
Wir hatten sorglos zum Funktionsaufruf auf uint8_t gecastet. Das ist uns
beim Xmega zum Verhängnis geworden, da mit den 8-Bit nur die erste
Hälfte der Bootpage beschrieben wird. Ansonsten ist die Funktionsweise
der AVR1316-Funktion SP_LoadFlashWord praktisch gleich gegenüber
boot_pagefill.
Dank und Gruß, Peter