Krom 0 26 августа, 2009 Опубликовано 26 августа, 2009 · Жалоба Сконфигурировано со следующими опциями: configure --target=$TARGET --prefix=$PREFIX\ --with-newlib --with-gnu-as --with-gnu-ld --disable-shared\ --enable-languages=c --enable-interwork --enable-multilib\ --disable-nls --disable-win32-registry --disable-werror\ --without-headers где TARGET=arm-elf PREFIX=/usr/local/arm При сборке после минут так это двадцати работы выдает следующую ошибку: /tmp/cc2Pmx1O.s: Assembler messages: /tmp/cc2Pmx1O.s:78: Internal error! Assertion failure in make_mapping_symbol at .././gas/config/tc-arm.c line 2492. Please report this bug. make[5]: *** [/usr/local/arm/build/gcc/arm-elf/thumb/libgcc/crtend.o] Ошибка 1 make[5]: Leaving directory `/usr/local/arm/build/gcc/gcc' make[4]: *** [gcc-extra-parts] Ошибка 2 make[4]: Leaving directory `/usr/local/arm/build/gcc/arm-elf/thumb/libgcc' make[3]: *** [multi-do] Ошибка 1 make[3]: Leaving directory `/usr/local/arm/build/gcc/arm-elf/libgcc' make[2]: *** [all-multi] Ошибка 2 make[2]: Leaving directory `/usr/local/arm/build/gcc/arm-elf/libgcc' make[1]: *** [all-target-libgcc] Ошибка 2 make[1]: Leaving directory `/usr/local/arm/build/gcc' make: *** [all] Ошибка 2 ЧТо бы это могло быть? Кто-нибудь собирал 4.4? Куда сообщать об ошибке? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amaora 21 31 августа, 2009 Опубликовано 31 августа, 2009 · Жалоба Возможно это связвно с вот этими изменениями в binutils http://www.nabble.com/Update-ARM-mapping-s...td24760784.html Как и куда отправлять багрепорт написано в binutils/README Проблема в thumb, без multilib должно собраться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krom 0 1 сентября, 2009 Опубликовано 1 сентября, 2009 · Жалоба На 4.4 я забил, так как он оказывается unstable. Собрал 4.3.4, последние версии binutils и newlib и openocd. 5 дней плясок с бубном, но в итоге все заработало. Больше всего времени ушло на openocd, там много чего поменялось по сравнению с 747й версией,но в итоге и с ним разобрался. Если кому интересно, могу расписать как и что. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prm 0 1 сентября, 2009 Опубликовано 1 сентября, 2009 · Жалоба Было бы интересно увидеть пошаговое руководство для сборки тулчайна. Хотя бы краткое на конкретном примере. Думаю, многие бы попробовали повторить, повысив тем самым свой профессиональный уровень. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Terminator 0 1 сентября, 2009 Опубликовано 1 сентября, 2009 · Жалоба ...Больше всего времени ушло на openocd, там много чего поменялось по сравнению с 747й версией,но в итоге и с ним разобрался. Если кому интересно, могу расписать как и что. Про openocd очень интересно. С новой версией у меня никак не получается прошить sam7 "одной командой". Приходится запускать openocd и из telnet-а слать команды на перешивку :smile3046: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 9 1 сентября, 2009 Опубликовано 1 сентября, 2009 · Жалоба Было бы интересно увидеть пошаговое руководство для сборки тулчайна. Хотя бы краткое на конкретном примере. Думаю, многие бы попробовали повторить, повысив тем самым свой профессиональный уровень. http://tuxotronic.org/wiki/tutorial/arm7-build-toolchain Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alx2 0 3 сентября, 2009 Опубликовано 3 сентября, 2009 · Жалоба http://tuxotronic.org/wiki/tutorial/arm7-build-toolchainУже спрашивал в другой теме, но, насколько я помню, так никто и не ответил. Я, в отличие от предлагаемого по вышеуказанной ссылке плана сборки, выполняю пункты 2, 3 и 4 за один раз (при конфигцрации gcc говорю --with-newlib, и последжующий make собирает сразу и gcc, и newlib). Лично для меня очевидно, что план из двух пунктов вдвое проще, чем из четырех. Тем не менее, в этом форуме все время рекомендуют идти именно длинным путем. Почему? Какие это дает преимущества? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 9 3 сентября, 2009 Опубликовано 3 сентября, 2009 · Жалоба Я, в отличие от предлагаемого по вышеуказанной ссылке плана сборки, выполняю пункты 2, 3 и 4 за один раз (при конфигцрации gcc говорю --with-newlib, и последжующий make собирает сразу и gcc, и newlib). По ссылке все пункты - 1,2,3,4 выполняются за один раз - make :) А вообще --with-newlib Specifies that `newlib' is being used as the target C library. This causes __eprintf to be omitted from libgcc.a on the assumption that it will be provided by `newlib'. Не совсем понятно как у вас собирается еще и newlib за один make. Понятно если до трех шагов сократить - без последнего 4, но я так не пробовал потому что всегда пользуюсь готовыми скриптами для сборки - сильно экономит время и нервы :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alx2 0 5 сентября, 2009 Опубликовано 5 сентября, 2009 · Жалоба Не совсем понятно как у вас собирается еще и newlib за один make.Не совсем понятно, что именно Вам не понятно. :) В смысле, что значит "как"? Попробуйте сами - увидите. tar -yxf gcc-core-x.x.x.tar.bz2 tar -yxf gcc-g++-x.x.x.tar.bz2 tar -zxf newlib-x.x.x.tar.gz cd gcc-x.x.x ln -fs ../newlib-x.x.x/newlib . cd .. mkdir builddir cd builddir ../gcc-x.x.x/configure ..... --with-newlib make make install Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amaora 21 6 сентября, 2009 Опубликовано 6 сентября, 2009 (изменено) · Жалоба Мой вариант для 4.4.1 (с uClibc) http://paravozeg.narod.ru/tcmakev3.gz Правка: перед запуском скрипта, # cd /usr/local # ln -s /path_to_script_dir/sysroot/usr/local/arm arm ну и PATH надо заранее поправить, это как всегда. alx2 Странно, только сейчас узнал, что newlib не есть часть gcc, конфигурил с --with-newlib а newlib не добавлял, собиралось и работало. Изменено 6 сентября, 2009 пользователем amaora Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krom 0 10 сентября, 2009 Опубликовано 10 сентября, 2009 · Жалоба Про openocd очень интересно. С новой версией у меня никак не получается прошить sam7 "одной командой". Приходится запускать openocd и из telnet-а слать команды на перешивку :smile3046: Как запущу все окончательно, обязательно распишу. Так вроде все протестил, вроде работает, но при попытке использовать билиотечные функции начинает ругаться: /usr/local/arm/lib/gcc/arm-elf/4.3.4/../../../../arm-elf/bin/ld: /usr/local/arm/lib/gcc/arm-elf/4.3.4/../../../../arm-elf/lib/libc.a(lib_a-strncmp.o)(strncmp): warning: interworking not enabled. first occurrence: main.o: Thumb call to ARM /usr/local/arm/lib/gcc/arm-elf/4.3.4/../../../../arm-elf/bin/ld: /usr/local/arm/lib/gcc/arm-elf/4.3.4/../../../../arm-elf/lib/libc.a(lib_a-strncmp.o)(strncmp): warning: interworking not enabled. first occurrence: main.o: Thumb call to ARM Какого ему надо не пойму. Опция -mthumb задана. Почему берет библиотеку /usr/local/arm/arm-elf/lib/libc.a а не /usr/local/arm/arm-elf/lib/thumb/libc.a нифига не понимаю. Опцию чтоли забыл какую-нить задать? С этим вроде разобрался, но сомневаюсь, что сделал правильно, развейте, плиз, сомнения. Я тупо вставил в мэйкфайд следующую строку: LDFLAGS += -L /usr/local/arm/arm-elf/lib/thumb -lc Это правильно или есть более верные способы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться