Wenn du den Code von xram() nicht in die init-Section legst sondern selber aufrufst (dann natürlich auch nicht als naked) dürfte es auch funktionieren, solange xram() aufgerufen wird bevor du den XRAM anfasst.
Wann denau der xram-init gemacht wird ist wohl unwesentlich, entscheidend ist, daß er gemacht wird, bevor darauf zugegriffen wird.
*grübel*
in den init-Sections steht auch Startup-Code, der den RAM initialisert, also globale Variablen mit Werten vorbesetzt. Falls globale Variablen im XRAM leben, muss der xram-init vor dem StartUp gemacht werden. Sonst werden die XRAM-Variablen nicht (richtig) initialisiert oder es gibt ne Trap oder sowas...
Lesezeichen