Forum: Compiler & IDEs ATmega1280-Unterstützung durch AVR-GCC?


von Marian Keck (Gast)


Lesenswert?

Hallo,

ich würde gern den neueren ATmega1280 einsetzen, befürchte allerdings,
dass ich mit dem derzeitigen AVR-GCC (bei mir in Version 3.3) Probleme
beim Kompilieren bekomme und ja auch die AVR-LIBC noch keine
Unterstützung für diese neueren ATmega-Typen bietet.

Hat vielleicht diesbezüglich jemand Erfahrungen gesammelt und möchte
sie gern weitergeben :)

Vielen Dank!
Marian

von Malte _. (malte) Benutzerseite


Lesenswert?

Eine andere Frage: Gibt es die überhaupt schon zu kaufen?

von Marian Keck (Gast)


Lesenswert?

Äh, ja ... das ist dann wohl das größere Problem.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Naja, mit der hornalten Version deines Compilers wirst du da kaum
Glück haben. ;-)

Überleg mal, GCC 3.4.x gibt's wohl nun auch schon seit Jahren, wir
diskutieren gerade, ob man GCC 4.x bereits für die Serie benutzen
kann (und es sieht alles so aus, als wäre das bei GCC 4.1 der Fall).

ATmega640/1280/1281 stehen noch nicht auf der Liste der sofort
einzusteuernden Controller, da kommen noch ein paar davor, für die
die Patches bereits als `ready to go' eingestuft sind, aber die
anderen kommen gleich danach, d.h. sie könnten in der avr-libc
innerhalb der nächsten 1...2 Monate mit dabei sein (für GCC und
binutils dann jeweils erstmal mit Patches bis zur offiziellen
Integration).  Nur beim 2560/2561 sieht das leider schwieriger aus.

von Fritz G. (fritzg)


Lesenswert?

Sehe ich das richtig, dass für den 2560 nur das EIND Register richtig
gesetzt werden muss um auf die oberen 128kB zu kommen? Kann mir aber
vorstellen, dass man da für den Compiler und den Linker richtige
Klimmzüge machen muss.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nö, achwo.  Der Compiler müsste eigentlich 24-bit-Zeiger verarbeiten
können.  Nun kann der GCC aber nur 8-, 16-, 32- und 64-bit-Zeiger, ihm
24-bit-Zeiger beizubringen, wäre ein ziemliches Stück Arbeit (das man
dann auch noch so erledigen muss, dass es die Akzeptanz der restlichen
GCC-Entwickler findet).

Mareks Idee war es daher, dass man jeweils zwischen 64-KB-Blöcken
(innerhalb derer man mit 16-bit-Zeigern auskommt) eine Sprungtabelle
anbringt (oder irgendwie so -- ganz genau habe ich es auch nicht
verstanden).  Dafür muss es im GCC schon ein Beispiel geben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.