|
Сборка GNU toolchains, может кто подсказать? |
|
|
|
May 13 2008, 09:05
|
Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 27-06-05
Из: Россия
Пользователь №: 6 324

|
Озадачился я самостоятельной сборкой gnu toolchains. В Линуксе я мягко говоря новичок, поэтому пару недель ушло на поиск и усвоение информации про что и как делать. Использую дистрибутив Debian Etch 4.0r1, в нем присутствуют свои заморочки, но в принципе разобрался. Много чего почерпнул на этом форуме, но осталось пару непоняток. Прошу знающих людей разъяснить, в свою очередь обязуюсь написать подробный манул по сборке, потому как проити через такое оно конечно и полезно в плане навыков, но времени и нервов на это уходит масса. Итак, вопросы. 1. По сборке binutils вопросов нет, разобрался. 2. Далее рекомендуется собрать gcc c опцией --without-headers, потом с помощью собранного gcc собрать newlib, и уже потом пересобрать gcc заново. Вот здесь я и застопорился. После двухдневных плясок с бубном gcc-4.3 я собрал: /usr/local/arm/src/build/gcc-4.3/src/configure --prefix=/usr/local/arm --target=arm-elf --disable-nls --disable-werror --enable-threads --disable-shared --disable-win32-registry --enable-languages=c --enable-interwork --enable-multlib --with-float=soft --disable-libssp --with-newlib --without-headers make make install а вот как с его помощью собрать newlib? Пробовал конфигурировать так: CC=arm-elf-gcc ./configure --target=arm-elf --prefix=/usr/local/arm --enable-interwork --enable-multlib так ругаецца, говорит, что указанный компиллятор не может создавать исполняемые файлы  . Оно вроде бы как и понятно,собран с опцией --target=arm-elf, то есть будет генерировать файлы elf, но тогда как надо? И нужен ли вообще этот этап? Таким вот макаром ./configure --target=arm-elf --prefix=/usr/local/arm --enable-interwork --enable-multlib нормально конфигурится и затем собирается. Но это я так понимаю с помощью системного gcc. Может, так и надо?
|
|
|
|
|
 |
Ответов
|
May 19 2008, 21:37
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
Я делал так: - собрал свой тулчейн (binutils/gcc/gdb для arm-elf), можно не собирать, а взять, благо, уважаемый klen компилит; - распаковал eclipse с плагинами: embedded cdt, zylin cdt, subclipse; (вроде все) - распаковал в смысле я качал не инсталлеры, а зипы, а потом ручками все копировал. Делов-то вывести линк и привязать к нему хоткей  . - запретил родной цдт (он разрешен по дефолту), разрешил эмбеддед, они внешне не различаются ничем, кроме версии; сделать это можно меню help->software update->manage configuration. Открывается окно, в нем перечислено все, что есть из активных (разрешенных) плагинов. Третья слева наверху кнопка - show disabled features. Ну а там, запрещаем один Eclipse C/C++ development tool, разрешаем второй. - а дальше все решается через настройку проекта. Должен быть прописан путь до /bin тулчейна; В проекте на вкладке project properties->c/c++ build->tool settings->settings прописываем gcc assembler arm-elf-as, gcc compiler arm-elf-gcc -mcpu=arm7tdmi (сразу говорим, какое у нас ядро), gcc linker arm-elf-gcc; на вкладке build artifact меняем расширение exe - elf, из binary parsers я оставил только gnu elf parser. Этот пункт неплохо описан в атмеловском мануале, я где-то раньше давал в этой теме ссылку. После этого простейшая printf("hello") у меня скомпилилась. Дебаг. Тут собсно и начинаются отличия родного цдт от эмбедного. Только вот у мну глюк - не добавляется ни одна отладочная конфигурация, кроме отладки эклипс, но надо-то не оно.... Так что пока помочь не могу. Такое уже было, как-то справился, а как - не запомнил  . Короче, если вечером глюк уйдет спать - продолжу.
|
|
|
|
|
May 20 2008, 10:33
|
Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 27-06-05
Из: Россия
Пользователь №: 6 324

|
Цитата(Leen @ May 20 2008, 01:37)  - а дальше все решается через настройку проекта. Должен быть прописан путь до /bin тулчейна; В проекте на вкладке project properties->c/c++ build->tool settings->settings прописываем gcc assembler arm-elf-as, gcc compiler arm-elf-gcc -mcpu=arm7tdmi (сразу говорим, какое у нас ядро), gcc linker arm-elf-gcc; на вкладке build artifact меняем расширение exe - elf, из binary parsers я оставил только gnu elf parser. Этот пункт неплохо описан в атмеловском мануале, я где-то раньше давал в этой теме ссылку. После этого простейшая printf("hello") у меня скомпилилась. Вот этого никак не могу найти  . Все описанное выше проделал: тулчейн собран, эклипс установлен, Zylin Embedded CDT 4.2.1 скачан и установлен, Eclipse C/C++ Developvent Tools SDK отключен, дальше - глухо. 1. Устанавливаю перспективу C/C++ (пробовал и Debug - результат тот же) 2. Создаю новый проект (С Project) - в Toolchains только Linux GCC. Не, если убрать галку ... supported on the platform появляются и другие, но Цигвин и МинГВ - не наш случай. Ладно, забиваем на все, выбираем Linux GCC, вводим имя проекта. 3. В следующем окне предлагаются две конфигурации - Debug и Release. Жмем кнопку Advanced и в следующем окне в Properties for Test2 вроде как есть Tool Chain Editor, но по кнопке Select Tools предлагается все что угодно, только не то, что мне надо (Цигвины, МакТулс и прочее), где можно было бы указать путь к моему тулчейну - ни фига не вижу Но в тех же Properties есть пункт Settings, вот там похожие настройки есть. Для GCC C Compiler задаю путь /usr/local/arm/arm-elf/bin/gcc - задается, а вот для линкера и асма не хочет. Оно по умолчанию их будет брать из той же директории, что компилер? И вообще, там ли я копаю? Все нашел, правда пришлось переставить эклипс и Zylin CDT. Почему первый раз так сглючило так и не понял, но там было подвисание Эклипса при отключении стандартного CDT, возможно в этом все дело.
|
|
|
|
Сообщений в этой теме
Krom Сборка GNU toolchains, может кто подсказать? May 13 2008, 09:05 Andy Great Дык Вы загляньте в Makefile после ./configure. Там... May 13 2008, 09:13 amw Цитата(Krom @ May 13 2008, 12:05) Озадачи... May 13 2008, 09:18 Krom Цитата(amw @ May 13 2008, 13:18) Вот тут ... May 13 2008, 09:50  amw Цитата(Krom @ May 13 2008, 12:50) Спасибо... May 13 2008, 10:00 Krom Ok. Буду дальше разбираться. А какие проблемы в gc... May 13 2008, 10:10 amw Цитата(Krom @ May 13 2008, 13:10) Ok. Буд... May 13 2008, 10:21 Krom Судя по тому, что поддержка ARMv7 появилась только... May 14 2008, 06:03 Andy Great Возьмите CodeSourcery уже скомпилированный. May 14 2008, 06:38 Krom Такие вот дела: binutils, gcc и newlib в принципе ... May 14 2008, 14:00 amw Цитата(Krom @ May 14 2008, 17:00) Если же... May 15 2008, 07:30  Krom Цитата(amw @ May 15 2008, 11:30) А newlib... May 15 2008, 12:34   klen Цитата(Krom @ May 15 2008, 16:34) По идее... May 15 2008, 14:47 zltigo Цитата(Krom @ May 13 2008, 11:05) Озадачи... May 14 2008, 14:23 Andy Great klen делает дистрибутивы, так что, похоже, дружит. May 15 2008, 08:39 Krom О, на вас вся надежда!
Повторюсь немного:
1... May 15 2008, 15:12 amw Цитата(Krom @ May 15 2008, 18:12) Все исх... May 15 2008, 18:29 amw Цитата(Krom @ May 15 2008, 18:12) MULTILI... May 15 2008, 19:47  klen извиняюсь - забыл укаать, ессесено функции лежат ... May 16 2008, 04:52 klen Все прально не собираецца! не должен
нада под... May 15 2008, 19:28 Krom Огромное всем спасибо, счас буду пробовать, ежели ... May 16 2008, 06:03 Andy Great Цитата(Krom @ May 16 2008, 09:03) -#MULTI... May 16 2008, 07:27 amw Цитата(Krom @ May 16 2008, 09:03) А расши... May 16 2008, 07:53  klen Цитата(amw @ May 16 2008, 11:53) Может па... May 16 2008, 09:10   amw Цитата(klen @ May 16 2008, 12:10) 2amw: ... May 16 2008, 11:20    Krom Цитата(amw @ May 16 2008, 15:20) тогда
ap... May 16 2008, 11:59     amw Цитата(Krom @ May 16 2008, 14:59) установ... May 16 2008, 12:10      Krom Цитата(amw @ May 16 2008, 16:10) Для рабо... May 16 2008, 12:34 Krom Итак, промежуточные результаты.
С помощью шаманско... May 16 2008, 09:51 Cyber_RAT * sys-libs/libtermcap-compat
Homepage: ... May 16 2008, 10:31 Krom да библиотека есть, как ее только подсунуть... и к... May 16 2008, 11:08 amw Нашел вот это
http://www.nabble.com/arm-elf-thumb-... May 16 2008, 13:12 Krom А примера makefile для STM32 под рукой ни у кого н... May 16 2008, 13:42 amw Цитата(Krom @ May 16 2008, 16:42) А приме... May 16 2008, 13:53 Krom Всем привет! Снова вопросы
Никак не могу прик... May 19 2008, 11:53 Leen Ну вообще-то subclipse.tigris.org - это плагин sub... May 19 2008, 12:05 Krom Цитата(Leen @ May 19 2008, 16:05) Ну вооб... May 19 2008, 12:28 Krom Цитата(Leen @ May 20 2008, 01:37) - распа... May 20 2008, 07:44  Leen Цитата(Krom @ May 20 2008, 21:33) 1. Уста... May 20 2008, 11:12   Krom Цитата(Leen @ May 20 2008, 15:12) о том, ... May 20 2008, 12:03    Leen Цитата(Krom @ May 20 2008, 22:46) А где э... May 20 2008, 12:09 Krom На самом деле все просто: там же, где определяются... May 21 2008, 11:57 Krom C тулчейном и средой в принципе разобрался. Застря... May 26 2008, 11:07 Andy Great Код.fpu softfpa Может так? May 26 2008, 13:26 Krom Цитата(Andy Great @ May 26 2008, 17:26) К... May 26 2008, 13:30 COMA Добрый день,
никто не пробовал собирать GNU tool... Oct 22 2008, 07:07 klen Цитата(COMA @ Oct 22 2008, 11:07) Добрый ... Oct 23 2008, 17:57 COMA Можно поподробнее? Почему не понравилось?
Просто ... Oct 24 2008, 03:59 klen Цитата(COMA @ Oct 24 2008, 06:59) Можно п... Nov 17 2008, 19:08 COMA Спасибо за ответ. Nov 18 2008, 05:00
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|