Jump to content

    
Sign in to follow this  
koljakh

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

Recommended Posts

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 не собирается(

Edited by sQyOs

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites
Каталог linux-2.6.x не пустой?

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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"

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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
У меня такие же расхождения в названиях тем не менее компилится успешно.

А у вас команда 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

 

Share this post


Link to post
Share on other sites
Все-таки скачайте 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. Как отключить локализацию?

Edited by sQyOs

Share this post


Link to post
Share on other sites
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 и тогда сообщения об ошибках будут на английском языке и их можно будет немного погуглить.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this