Перейти к содержанию
    

установка blackfin toolchain на Ubuntu 10.04

Если Вас не устраивает тулчейн скачанный с репозиториев Analog Devices, то можно собрать свой, например с помощью Buildroot'a.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю это неудачная идея. К тому же зачем его собирать если он там уже лежит откомпиленный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

make

Все же описано на сайте http://docs.blackfin.uclinux.org/doku.php?...sic_compilation

 

Спасибо... Хоть немного продвинулся) Но теперь новая ошибка:

root@ag-desktop:/1/uClinux-bf548-v0.4# make
rm -f linux-2.6.x/usr/initramfs_data.cpio.gz
make ARCH=blackfin   CROSS_COMPILE=bfin-uclinux- -j1 -C linux-2.6.x  || exit 1
make[1]: Вход в каталог `/1/uClinux-bf548-v0.4/linux-2.6.x'
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  CC      arch/blackfin/kernel/asm-offsets.s
cc1: ошибка: некорректный ключ "-mcpu=bf548-0.0"
make[2]: *** [arch/blackfin/kernel/asm-offsets.s] Ошибка 1
make[1]: *** [prepare0] Ошибка 2
make[1]: Выход из каталога `/1/uClinux-bf548-v0.4/linux-2.6.x'
make: *** [linux] Ошибка 1

 

и uClinux не собирается(

Изменено пользователем sQyOs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Каталог linux-2.6.x не пустой?

Если там есть файлы попробуйте откомпилить для другого проца. BF527 точно компилится!

Перед компиляцией для другого проца сделайте make clean

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Каталог linux-2.6.x не пустой?

Если там есть файлы попробуйте откомпилить для другого проца. BF527 точно компилится!

Перед компиляцией для другого проца сделайте make clean

 

В каталоге есть файлы. А разве они не различны будут? У меня то процессор bf548.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да и для другого процессора однотипная ошибка:

rm -f linux-2.6.x/usr/initramfs_data.cpio
make ARCH=blackfin   CROSS_COMPILE=bfin-uclinux- -j1 -C linux-2.6.x  || exit 1 
make[1]: Вход в каталог `/1/uclinux-dist-trunk-svn-10595/linux-2.6.x'
scripts/kconfig/conf --silentoldconfig Kconfig
make[1]: Выход из каталога `/1/uclinux-dist-trunk-svn-10595/linux-2.6.x'
make[1]: Вход в каталог `/1/uclinux-dist-trunk-svn-10595/linux-2.6.x'
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
  CC      kernel/bounds.s
cc1: ошибка: некорректный ключ "-mcpu=bf527-0.2"
make[2]: *** [kernel/bounds.s] Ошибка 1
make[1]: *** [prepare0] Ошибка 2
make[1]: Выход из каталога `/1/uclinux-dist-trunk-svn-10595/linux-2.6.x'
make: *** [linux] Ошибка 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что выдает в ответ, если набрать в консоли

which bfin-linux-uclibc-gcc

 

/opt/uClinux/bfin-linux-uclibc/bin/bfin-linux-uclibc-gcc

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. У вас задано CROSS_COMPILE=bfin-uclinux- но реальное название компилятора bfin-linux-uclibc-gcc, попробуйте задать CROSS_COMPILE=bfin-linux-uclibc-

 

2. make[1]: Вход в каталог `/1/uclinux-dist-trunk-svn-10595/linux-2.6.x'

Не собирайте в корневом каталоге. Собирайте в своем домашнем каталоге

 

3. cc1: ошибка: некорректный ключ "-mcpu=bf527-0.2"

Отключите локализацию, либо используйте дистрибутив без локализации, это сильно затруднит поиск сообщений об ошибках в интернете.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. У вас задано CROSS_COMPILE=bfin-uclinux- но реальное название компилятора bfin-linux-uclibc-gcc, попробуйте задать CROSS_COMPILE=bfin-linux-uclibc-
У меня такие же расхождения в названиях тем не менее компилится успешно.

make -f tools/autotools.mk autotools-cache
make[1]: Entering directory `/home/uriy/blackfin-linux-dist'
make[1]: Цель `autotools-cache' не требует выполнения команд.
make[1]: Leaving directory `/home/uriy/blackfin-linux-dist'
chmod +x tools/romfs-inst.sh tools/modules-alias.sh tools/build-udev-perms.sh
. linux-2.6.x/.config; if [ "$CONFIG_INITRAMFS_SOURCE" != "" ]; then \
        mkdir -p `dirname $CONFIG_INITRAMFS_SOURCE`; \
        touch $CONFIG_INITRAMFS_SOURCE || exit 1; \
    fi
rm -f linux-2.6.x/usr/initramfs_data.cpio
make ARCH=blackfin   CROSS_COMPILE=bfin-uclinux- -j1 -C linux-2.6.x  || exit 1
make[1]: Entering directory `/home/uriy/blackfin-linux-dist/linux-2.6.x'
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  GEN     usr/initramfs_data.cpio
  AS      usr/initramfs_data.o
  LD      usr/built-in.o

Все-таки скачайте ucLinux не из svn а из архива по ссылкам, которые я вам давал.

 

Эти пакеты все установили?

sudo apt-get install autoconf automake bash binutils bison bzip2 \
   coreutils flex gawk gcc gettext grep intltool iputils-ping libtool libz-dev \
   linux-libc-dev liblzo1 liblzo-dev liblzo2-dev liblzo2-2 libncurses5 libreadline5 \
   libreadline5-dev libncurses5-dev m4 make pax-utils pkg-config rpm texinfo zlib1g \
   zlib1g-dev uuid-dev

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня такие же расхождения в названиях тем не менее компилится успешно.

А у вас команда which bfin-uclinux-gcc что-то выдает? Может у вас символьная ссылка bfin-linux-uclibc-gcc которая указывает на bfin-uclinix-gcc? (или наоборот). А автор не совсем правильно распаковал тулчейн, и из-за этого у него сломались символьные ссылк. Но это только догадки.

 

Если глянуть в Makefile, то CROSS_COMPILE используется таким вот образом

AS              = $(CROSS_COMPILE)as
LD              = $(CROSS_COMPILE)ld
CC              = $(CROSS_COMPILE)gcc
CPP             = $(CC) -E
AR              = $(CROSS_COMPILE)ar
NM              = $(CROSS_COMPILE)nm
STRIP           = $(CROSS_COMPILE)strip
OBJCOPY         = $(CROSS_COMPILE)objcopy
OBJDUMP         = $(CROSS_COMPILE)objdump

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

uriy@debian:~$ which bfin-uclinux-gcc
/opt/uClinux-2010R1/bfin-uclinux/bin/bfin-uclinux-gcc
uriy@debian:~$ 
uriy@debian:~$ which bfin-linux-uclibc-gcc
/opt/uClinux-2010R1/bfin-linux-uclibc/bin/bfin-linux-uclibc-gcc
uriy@debian:~$

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все-таки скачайте ucLinux не из svn а из архива по ссылкам, которые я вам давал.
Оттуда я скачал :

blackfin-linux-dist-2011R1-RC3.tar.bz2
kernel_2011r1-rc3_ezkit548_gcc4.3_log.tar.bz2
uclinux-dist-trunk-svn.src.tar.bz2

скачал и что с этим делать(кроме ЮСиЛинукса) не представляю

Эти пакеты все установили?

sudo apt-get install autoconf automake bash binutils bison bzip2 \
   coreutils flex gawk gcc gettext grep intltool iputils-ping libtool libz-dev \
   linux-libc-dev liblzo1 liblzo-dev liblzo2-dev liblzo2-2 libncurses5 libreadline5 \
   libreadline5-dev libncurses5-dev m4 make pax-utils pkg-config rpm texinfo zlib1g \
   zlib1g-dev uuid-dev

половина была не установлена

 

 

1. У вас задано CROSS_COMPILE=bfin-uclinux- но реальное название компилятора bfin-linux-uclibc-gcc, попробуйте задать CROSS_COMPILE=bfin-linux-uclibc-

 

2. make[1]: Вход в каталог `/1/uclinux-dist-trunk-svn-10595/linux-2.6.x'

Не собирайте в корневом каталоге. Собирайте в своем домашнем каталоге

 

3. cc1: ошибка: некорректный ключ "-mcpu=bf527-0.2"

Отключите локализацию, либо используйте дистрибутив без локализации, это сильно затруднит поиск сообщений об ошибках в интернете.

 

1. Как это задать?

2. В домашнем каталоге не собираю потомучто незнаю как к нему путь прописать))

3. Как отключить локализацию?

Изменено пользователем sQyOs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А всё со вторым пунктом разобрался, а с третьим просто нетак понял предложене)

Изменено пользователем sQyOs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. Как это задать?

CROSS_COMPILE это префикс компилятора. Если собирается для обычного ПК, то префикс отсутствует. Можете запустить команду `grep CROSS_COMPILE .config`, вы должны увидеть что-то вроде

CONFIG_CROSS_COMPILE="bfin-uclinux-". Это значит что make будет пытаться использовать bfin-uclinux-gcc для сборки проекта. Если такого файла нет, или CROSS_COMPILE пустое, то будет использоваться обычный, хостоывй gcc, который ничего про blackfin не знает, собственно, на это он и жалуется. CROSS_COMPILE можно задать либо через make menuconfig (заходите в menuconfig, нажимаете кнопку `/` и вводите CROSS и далее ентер, вам покажет где искать этот ключ) или руками при сборке проекта make CROSS_COMPILE=bfin-uclinux- .

 

По поводу локализации, то перед командой make, пишите LC_ALL=en и тогда сообщения об ошибках будут на английском языке и их можно будет немного погуглить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...