Ставим кросс-компилер для AVR

Собираем binutils :

./configure –prefix=/usr –enable-libssp –with-pdfdir=/usr/doc/binutils –with-htmldir=/usr/doc/binutils –enable-64-bit-bfd –enable-lto –enable-gold=both –target=avr

make && make install

rus # avr-ld -v
GNU ld (Linux/GNU Binutils) 2.20.51.0.10.20100707

Собираем и ставим gmp/mpfr/cloog/ppl

Для cloog задаем: ./configure –with-ppl –with-bits=gmp –prefix=/usr

Разворачиваем gcc-4.5.0, патчим http://gcc.gnu.org/ml/gcc-patches/2010-04/msg01210/changes.patch, фиксим запятые и добавдяем atmega6490a и atmega6490p

Собираем gcc :

../gcc-4.5.0/configure –target=avr –prefix=/usr –enable-languages=c,c++ –enable-__cxa_atexit –enable-multilib –enable-lto

make && make install

rus # avr-gcc -v

Используются внутренние спецификации.
COLLECT_GCC=avr-gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/avr/4.5.0/lto-wrapper
Целевая архитектура: avr
Параметры конфигурации: ../gcc-4.5.0/configure –target=avr –prefix=/usr –enable-languages=c,c++ –enable-__cxa_atexit –enable-multilib –enable-lto
Модель многопоточности: single
gcc версия 4.5.0 (GCC)

Разворачиваем avr-libc-1.7.0, убираем m3000 (видать просочилось из транка) из makefile, собираем, ставим

./configure –prefix=/usr –build=`./config.guess` –host=avr

Имеем в /usr/bin – все тулзы, в /usr/avr/* – includes и libs

Leave Comment