Ich hab da mal eine Frage:
Die XMEGA können ja durch die X/Y/Z-Pointer-Erweiterungsregister RAMPX/Y/Z 16Mb adressieren.
Aber weiß jemand von euch inwieweit das der GCC schon unterstützt?
Würden dann nicht alle Speicherzugriffe über Pointer langsamer ablaufen, weil jetzt drei statt zwei Pointerregister beladen werden müssen?
Wie läuft denn eigentlich der Flashzugriff bei den bisherigen AVRs mit beispielsweise 256kByte Programmspeicher ab? Dafür ist ein 16Bit Adressraum doch auch schon zu wenig.
Vor allem interessiert mich wie Programmsprünge mit diesen größeren Programmspeichern funktionieren.
Die aufklärende Seite in den Datenblättern hab ich zumindest noch nicht gefunden.
Edit: Gut, habs gefunden. Der Programcounter ist jetzt auch 3Bytes groß und ein Programmsprung dauert wegen den 3Bytes die auf den Stack gerettet werden müssen länger. Die GCC-Frage ist aber immer noch nicht geklärt.
Die XMEGA können ja durch die X/Y/Z-Pointer-Erweiterungsregister RAMPX/Y/Z 16Mb adressieren.
Aber weiß jemand von euch inwieweit das der GCC schon unterstützt?
Würden dann nicht alle Speicherzugriffe über Pointer langsamer ablaufen, weil jetzt drei statt zwei Pointerregister beladen werden müssen?
Wie läuft denn eigentlich der Flashzugriff bei den bisherigen AVRs mit beispielsweise 256kByte Programmspeicher ab? Dafür ist ein 16Bit Adressraum doch auch schon zu wenig.
Vor allem interessiert mich wie Programmsprünge mit diesen größeren Programmspeichern funktionieren.
Die aufklärende Seite in den Datenblättern hab ich zumindest noch nicht gefunden.
Edit: Gut, habs gefunden. Der Programcounter ist jetzt auch 3Bytes groß und ein Programmsprung dauert wegen den 3Bytes die auf den Stack gerettet werden müssen länger. Die GCC-Frage ist aber immer noch nicht geklärt.