avr-gcc und ATMega324pa

Gast #1969217
Lesenswert?
• ▲
▼
Hallo,

ich versuche ein Programm für den ATMega324PA mit dem avr-gcc 4.4.5 für 
den ATMega324PA zu übersetzen. Problem ist jedoch, dass der avr-gcc den 
ATMega324PA nicht kennt.

Beim ausführen von avr-gcc mit der Option -mmcu=atmega324pa kommt, das 
der MCU nicht bekannt ist.

Komisch ist jedoch, das die avr-libc 1.7.0 den ATMega324PA explizit 
unterstützt.

Wie ist es nun gedacht C-Code für den ATMega324PA zu übersetzen bzw. 
welche Lösung gibt es?

Grüße
Martin
Gast #1969432
Lesenswert?
• ▲
▼
> Kannst du nähere Angaben zu deiner avr-gcc Version (Build) und deren
> Herkunft machen?

Betriebssystem ist Ubuntu 10.04,
GCC 4.4.5 kompiliert von sourcen direkt von einem GCC GNU mirror*.
Binutils in Version 2.20.

* um genau zu sein: 
ftp://ftp.mpi-sb.mpg.de/pub/gnu/mirror/gcc.gnu.org/pub/gcc/releases/gcc- 
4.4.5/gcc-core-4.4.5.tar.bz2

> Eventuell wurde da ein an sich vorhandener Patch bei der Herstellung des
> avr-gcc vergessen [...]

Gibt es da noch extra patches für den avr-gcc die man berücksichtigen 
muss?
Persönliche Seite #1969508
Lesenswert?
• ▲
▼
Das ist ja um die Ecke :-)

http://www.mikrocontroller.net/articles/AVR_und_Linux

[zitat]
Im Prinzip kann man einen avr-gcc "bauen", indem man sich die 
offiziellen GCC-Quellen besorgt und dann einfach für das Target avr 
übersetzt. Und in der Tat scheinen die in den Distributionspaketen 
enthaltenen Compiler nicht selten auf genau diesem Wege entstanden zu 
sein. Das Problem dabei ist, dass ein solcher avr-gcc niemals 
vollständig/aktuell ist, denn es gibt immer zusätzliche AVR spezifische 
Patches, die nicht in den offiziellen GCC-Quellen enthalten sind. Zum 
einen, weil der jeweilige Patch noch zu neu ist (die Übernahme in die 
offiziellen Quellen dauert seine Zeit), zum anderen weil er 
grundsätzlich nicht offiziell übernommen werden kann, da der Autor des 
Patches kein FSF-Assignment hat. Ähnliches gilt auch für die weiteren 
Komponenten der Toolchain, z.B. binutils.

Wer eine Distribution benutzt, die keine AVR-Pakete enthält, oder wer 
obigem Problem aus dem Weg gehen will, kann sich selber eine Toolchain 
mit den aktuellen Patches übersetzen. Ziemlich einfach geht das mit 
einem Skript von Bingo600, das man hier bekommen kann...
[/zitat]

Bingo schreibt gelegentlich auch hier im Forum, Thanks!

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.