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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren