Gentoo/Sabayon crossdev avr

:!::!::!: WARNUNG VORAB!!! Die neueren 4.4.xer GCC Versionen funktionieren nicht mehr problemlos mit den Atmegas! :!::!::!: Getestet mit atmega1284p ohne Probleme: gcc 4.3.3

Problematisch:

  • 4.2.4 (nur asm support für den 1284p)
  • 4.4.3 (hat bei Arduino mit dem avr-g++ beim 1284p Probleme mit Klassen gemacht.. sobald Serial.begin(9600) genutzt wurde, hing der Atmega, egal ob etwas in der begin() Methode steht oder nicht)

:!::!::!:

Bei Gentoo/Sabayon gibt es momentan etwas Probleme,

  1. den aktuellen crossdev für avr's
  2. mit support für den atmega1284p
  3. mit avrdude und dem stk600 zu flashen
  4. mit avr-g++ für Arduino

zu mergen.

Die Seite hier sammelt Infos als Ansätze zusammen und ist _kein_ perfekt zu befolgendes Howto!

atmega1284p ⇒ gcc 4.3.3 stk600 ⇒ avrdude 5.10

Infos unter

Der portage vom cross-avr ist übrigens z.B. bei Sabayon unter /usr/local/portage/layman/sabayon, wobei der auch wieder nur auf /usr/portage/dev-embedded/ und /usr/portage/sys-devel etc zeigt ;)

Mit Trick funktioniert es:

emerge crossdev
echo "PORTDIR_OVERLAY=\"/usr/local/portage\"" >> /etc/make.conf
echo "<cross-avr/gcc-4.3.4" >>/etc/portage/package.unmask
echo "<sys-devel/binutils-2.21" >>/etc/portage/package.unmask
echo "<sys-libs/glibc-2.11.2-r4" >>/etc/portage/package.unmask

crossdev -t avr
USE="-nocxx" emerge cross-avr/gcc
#ln -s /usr/avr/gcc-bin/*/avr-gcc /usr/local/bin/
emerge cross-avr/binutils
emerge cross-avr/avr-libc
gcc-config avr-4.3.3
source /etc/profile
ln -sv /usr/lib/binutils/avr/2.21/ldscripts/ /usr/avr/lib/ldscripts
ln -sf /usr/lib/binutils/avr/2.21/ldscripts /usr/x86_64-pc-linux-gnu/avr/binutils-bin/2.21/ldscripts

Ich weiss nicht ob das einzelne mergen von cross-avr/binutils und avr-libc notwendig ist, das Thema mit den symlinks vom binutils muss aber sein. Achtung, x86_64 = 64bit system…

Besonders bei Meldungen wie

/usr/libexec/gcc/avr/ld: cannot open linker script file ldscripts/avr5.x: No such file or directory

folgendes machen:

/usr/x86_64-pc-linux-gnu/avr/binutils-bin/2.21 $ ln -sf /usr/lib/binutils/avr/2.21/ldscripts ldscripts
 
 
         
         
   
(9438 views) crossdev_avr.txt · Zuletzt geändert: 2011/05/14 21:14 von terminar