|
Eclipse + GCC для ARM, Среда разработки для ARM, причем бесплатная... |
|
|
|
Oct 23 2007, 22:52
|

Участник

Группа: Участник
Сообщений: 25
Регистрация: 23-10-07
Из: Москва
Пользователь №: 31 665

|
Всем хороши коммерческие версии типа Keil, IAR, ... кроме цены. А "лекарство" выходит частенько с опозданием на год и более. Да и отладчики (JTAG) у них не самые дешевые. Сейчас многие начинают советовать GCC на платформе Eclipce с OpenOCD дебагером, который поддерживает от wiggler-а до Segger-а - кому что по карману. Да, GCC уступает немного коммерческим компиляторам по скорости и плотности кода, на у ARM-ов и памяти и скорости для большинства задач - с запасом. Одна беда - при всем разнообразии подобных пакетов нет ни одного, чтобы поставил - и сразу заработало... Может кто-то уже прошел через эти тернии? Вопрос не праздный...
--------------------
Sleo
|
|
|
|
|
 |
Ответов
|
Nov 14 2007, 22:03
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
Так все ж стандартно... main.c Код #include <stdio.h> при вызове компилера (во флагах в макефайле или напрямую в ком. строке) -I "путь к заголовку". Если надо влинковать библиотеки -L "путь к библиотекам" Про эти флаги очень подробно расписано в мане по гцц, ближе к концу. PS: выложи, пожалуйста.
|
|
|
|
|
Nov 15 2007, 15:51
|

Участник

Группа: Участник
Сообщений: 25
Регистрация: 23-10-07
Из: Москва
Пользователь №: 31 665

|
Цитата(Leen @ Nov 15 2007, 02:03)  Так все ж стандартно... main.c Код #include <stdio.h> при вызове компилера (во флагах в макефайле или напрямую в ком. строке) -I "путь к заголовку". Если надо влинковать библиотеки -L "путь к библиотекам" Про эти флаги очень подробно расписано в мане по гцц, ближе к концу. PS: выложи, пожалуйста. 1. По поводу библиотек. Их 8 пар (!) - то есть 16 штук одноименных (например. 16 штук libc.a) - методом перебора ничего не достигли, то не нравится несовместимость по little-big endian (по этому признаку, как понял, они поделены на две группы по 8 штук). Дальше внутри группы то не нравится реализация floating point - ругается на несовместимость аппаратной и программной реализаций (хотя в LPC2138 аппаратной реализации нет). Структура директорий GCC при установке Eclipse - стандартная. Так из какой директории брать библиотеки? 2. "Выложить пожалуйста" - имеется в виду доку с примером? - если подскажете, как положить на форуме, то выложу все не таясь... По крайней мере, программы для LPC213x-LPC214x без системных (GCC) библиотек работают и отлаживаются уже без проблем. ВОЗНИКЛА СЛЕДУЮЩАЯ БЕДА! Два дня пытаюсь сделать простейший пример на С++ под Eclipse - он упорно делает проект, в котором сам делает makefile, назначает старт программы с адреса 0x8000, и никакие манипуляции с настройками не могут этого изменить. Задача у меня простая: написать простейшую программу с примитивнейшим объектом (классом) типа LED, который будет мигать, и заставить ее работать в плате LPC-P2138. У кого-то есть возможность помочь? Чувствуется, что среда умеет многое, но как ее все заставить сделать это? и под моим управлением... Если получится - готов для остальных тоже описать все в виде учебника...
--------------------
Sleo
|
|
|
|
|
Nov 16 2007, 07:25
|
Участник

Группа: Новичок
Сообщений: 30
Регистрация: 16-12-05
Пользователь №: 12 295

|
Цитата(sleo2000 @ Nov 15 2007, 18:51)  1. По поводу библиотек. Их 8 пар (!) - то есть 16 штук одноименных (например. 16 штук libc.a) - методом перебора ничего не достигли, то не нравится несовместимость по little-big endian (по этому признаку, как понял, они поделены на две группы по 8 штук). Дальше внутри группы то не нравится реализация floating point - ругается на несовместимость аппаратной и программной реализаций (хотя в LPC2138 аппаратной реализации нет). Структура директорий GCC при установке Eclipse - стандартная. Так из какой директории брать библиотеки? Обычно компилятор и newlib собраны с опцией multilib и interwork, это для того, чтобы можно было компилить в ARM, THUMB и ARM+THUMB одновременно. По этому есть несколько версий libc и libgcc, которые нужно выбрать в зависимости от флагов компиляции. Это можно автоматизировать (как сделал я). Кусок makefile'а: Код LIBGCC = `$(CC) $(CFLAGS) -print-libgcc-file-name` LIBDIR = /opt/armgcc/arm-elf/lib/`$(CC) $(CFLAGS) -print-multi-directory` LIBC = $(LIBDIR)/libc.a где $(CC) = arm-elf-gcc и подставляем линкеру $(LIBGCC) $(LIBC) Почему так? Я использую опцию -nostdlib. Цитата(Paramedic @ Nov 16 2007, 10:05)  Пытаюсь под Ubuntu 7.04 настроить связку Eclipse + OpenOCD + GDB + Wiggler + AT91RM9200. При попытке отладить простой проектик возникают проблемы - при выполнении загрузки вижу такое сообщение: putpkt: write failed: Broken pipe. А кто выводит это сообщение? OpenOCD, GDB или Eclipse?
|
|
|
|
|
Nov 16 2007, 08:08
|
Частый гость
 
Группа: Новичок
Сообщений: 81
Регистрация: 19-04-07
Пользователь №: 27 167

|
Цитата(Puzan @ Nov 16 2007, 13:25)  Это можно автоматизировать (как сделал я). Кусок makefile'а: Код LIBGCC = `$(CC) $(CFLAGS) -print-libgcc-file-name` LIBDIR = /opt/armgcc/arm-elf/lib/`$(CC) $(CFLAGS) -print-multi-directory` LIBC = $(LIBDIR)/libc.a где $(CC) = arm-elf-gcc и подставляем линкеру $(LIBGCC) $(LIBC) Если бы вы использовали arm-elf-gcc для сборки, а не arm-elf-ld все было бы гораздо проще. Он бы сам в зависимости от флагов выбирал необходимую библиотеку.
|
|
|
|
|
Nov 16 2007, 10:23
|
Участник

Группа: Новичок
Сообщений: 30
Регистрация: 16-12-05
Пользователь №: 12 295

|
Цитата(axle @ Nov 16 2007, 11:08)  Если бы вы использовали arm-elf-gcc для сборки, а не arm-elf-ld все было бы гораздо проще. Он бы сам в зависимости от флагов выбирал необходимую библиотеку. Внимательней читайте. У меня стоит опция -nostdlib. Цитата(Paramedic @ Nov 16 2007, 11:12)  Судя по всему gdb выводит в консоли eclipse при исполнении команды load. А openocd запущен? Находит устройство? Порт правильный слушает?
|
|
|
|
|
Nov 16 2007, 10:26
|
Частый гость
 
Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436

|
Цитата(Puzan @ Nov 16 2007, 13:23)  А openocd запущен? Находит устройство? Порт правильный слушает? Да, даже ресет на таргет проходит. Порт parport 0. Я поэтому и прошу какой-нить простенький примерчик, может дело в make-файле, опциях компиляции...
|
|
|
|
|
Nov 16 2007, 10:52
|
Участник

Группа: Новичок
Сообщений: 30
Регистрация: 16-12-05
Пользователь №: 12 295

|
Цитата(Paramedic @ Nov 16 2007, 13:26)  Да, даже ресет на таргет проходит. Порт parport 0. Я поэтому и прошу какой-нить простенький примерчик, может дело в make-файле, опциях компиляции... А причем тут makefile. Если собирается, значит должно что-то работать. Посмотри дизассемблер. Может быть с расположением что-то попутал (в смысле линкуешь для flash, а запускаешь в ram)?
|
|
|
|
|
Nov 16 2007, 10:59
|
Частый гость
 
Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436

|
Цитата(Puzan @ Nov 16 2007, 13:52)  А причем тут makefile. Думаю может не хватать отладочной информации... Хотя опцию -g включил и оптимизация на нуле. Цитата(Puzan @ Nov 16 2007, 13:52)  Посмотри дизассемблер. Может быть с расположением что-то попутал (в смысле линкуешь для flash, а запускаешь в ram)? Скрипт линкера брал готовый, может в нём и косяк, но он вроде простой и адреса указаны правильные: MEMORY { ram : ORIGIN = 0x200000, LENGTH = 0x4000 }
|
|
|
|
|
Nov 16 2007, 11:30
|
Участник

Группа: Новичок
Сообщений: 30
Регистрация: 16-12-05
Пользователь №: 12 295

|
Цитата(Paramedic @ Nov 16 2007, 13:59)  Думаю может не хватать отладочной информации... Хотя опцию -g включил и оптимизация на нуле. Скрипт линкера брал готовый, может в нём и косяк, но он вроде простой и адреса указаны правильные: MEMORY { ram : ORIGIN = 0x200000, LENGTH = 0x4000 } Отладочная информация по-любому не причем. В мап-файл посмотри, правильно он память распределил, или нет. Варианта остается два: конфиг openocd и хардварная проблема, типа JTAGSEL неправильно установил, или банально не контачит. Цитата(axle @ Nov 16 2007, 14:09)  У меня тоже! -nostdlib не значит, что надо путь к библиотекам указывать. Просто стандартные библиотеки не будут подключаться по умочанию. Что бы их использовать, нужно непосредственно указывать в опциях: -lc -lm -lgcc и т.д. Не работает
|
|
|
|
|
Nov 16 2007, 11:32
|
Частый гость
 
Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436

|
Цитата(Puzan @ Nov 16 2007, 14:30)  или банально не контачит. Это исключено - под виндой в ИАР всё работает...
|
|
|
|
Сообщений в этой теме
sleo2000 Eclipse + GCC для ARM Oct 23 2007, 22:52 DASM Баян
http://electronix.ru/forum/index.php?act=S..... Oct 23 2007, 22:59 sleo2000 Цитата(DASM @ Oct 24 2007, 02:59) Баян
h... Oct 23 2007, 23:51 dch Цитата(DASM @ Oct 24 2007, 01:59) Баян
h... Nov 14 2007, 02:30  Leen Цитата(dch @ Nov 14 2007, 12:30) ссылка б... Nov 14 2007, 02:54 dch Цитата(DASM @ Oct 24 2007, 01:59) http://... Jan 2 2009, 03:10 Puzan Я использую Eclipse+GCC+OOCD+самосборное подобие W... Oct 24 2007, 13:15 Leen 2 Puzan: не могли бы вы выложить рекомендации по н... Oct 24 2007, 22:49 klen 1. Устанавливаете Sun JRE 6u3 (тоесть самый свежий... Oct 25 2007, 05:37  Abo Цитата(klen @ Oct 25 2007, 09:37) 4. удал... Oct 25 2007, 06:32 Leen Цитата(klen @ Oct 25 2007, 16:37) 6. наст... Oct 25 2007, 08:52 Сергей Борщ Цитата(Leen @ Oct 25 2007, 11:52) Вот с э... Oct 25 2007, 09:44  sleo2000 Цитата(Сергей Борщ @ Oct 25 2007, 13:44) ... Oct 25 2007, 12:54   axle Цитата(sleo2000 @ Oct 25 2007, 19:54) Гот... Oct 26 2007, 03:27 Terminator Немного offtopic
Есть проект в eclipse, вроде всё ... Oct 26 2007, 02:45 etoja В GCC некорректно работает обработчик прерывания I... Oct 26 2007, 03:38 Terminator Цитата(etoja @ Oct 26 2007, 10:38) В GCC ... Oct 26 2007, 04:34 axle Цитата(etoja @ Oct 26 2007, 10:38) Оба ес... Oct 26 2007, 05:47  etoja Будем реалистами. Китайцы бульдозерами утрамбовыва... Oct 26 2007, 05:58 xelax Цитата(etoja @ Oct 26 2007, 07:38) В GCC ... Oct 26 2007, 09:26 etoja Вот обсуждение этого вопроса. Проблеме уже больше ... Oct 26 2007, 04:45 Terminator Цитата(etoja @ Oct 26 2007, 11:45) Вот об... Oct 26 2007, 06:32 Leen Цитата(etoja @ Oct 26 2007, 14:38) В GCC ... Oct 26 2007, 08:24 Puzan Цитата2 Puzan: не могли бы вы выложить рекомендаци... Oct 26 2007, 10:22 zltigo Цитата(Puzan @ Oct 26 2007, 13:22) но вот... Oct 26 2007, 18:24 sleo2000 Цитата(Puzan @ Oct 26 2007, 14:22) .....
... Nov 9 2007, 13:02  Puzan Цитата(sleo2000 @ Nov 9 2007, 16:02) Если... Nov 10 2007, 16:55   sleo2000 Цитата(Puzan @ Nov 10 2007, 20:55) ОК. То... Nov 14 2007, 14:31    Puzan Цитата(sleo2000 @ Nov 14 2007, 17:31) Теп... Nov 15 2007, 08:07 Doka Цитата(Puzan @ Oct 26 2007, 13:22) В прин... Dec 31 2008, 07:36  alx2 Цитата(Doka @ Dec 31 2008, 12:36) следую ... Dec 31 2008, 10:44 etoja Вопрос к LEEN:
Печатные платы вы чем разводите? С... Oct 26 2007, 13:44 Puzan Цитата(etoja @ Oct 26 2007, 17:44) Вопрос... Oct 27 2007, 06:31  zltigo Цитата(Puzan @ Oct 27 2007, 09:31) Тестир... Oct 27 2007, 06:53   klen Цитата(zltigo @ Oct 27 2007, 10:53) Тесты... Oct 27 2007, 08:54    zltigo Цитата(klen @ Oct 27 2007, 11:54) с каким... Oct 27 2007, 10:19 IgorKossak etoja, тема называется:
ЦитатаEclipce + GCC для AR... Oct 26 2007, 17:58 Сергей Борщ Не стал создавать новую ветку.
Вопрос такой - а ка... Nov 1 2007, 09:43 ZiB Всем, привет!
Скачал документ "http://ww... Nov 11 2007, 14:23 xelax Цитата(ZiB @ Nov 11 2007, 17:23) Severity... Nov 12 2007, 06:46  axle Зачем вы изобретаете велосипед??? Вы makefile с ну... Nov 16 2007, 04:26   Paramedic Пытаюсь под Ubuntu 7.04 настроить связку Eclipse +... Nov 16 2007, 07:05          Puzan Цитата(Paramedic @ Nov 16 2007, 14:32) Эт... Nov 16 2007, 12:03           Paramedic Цитата(Puzan @ Nov 16 2007, 15:03) Хм... ... Nov 16 2007, 12:39     axle Цитата(Puzan @ Nov 16 2007, 16:23) Внимат... Nov 16 2007, 11:09      sleo2000 Цитата(axle @ Nov 16 2007, 14:09) У меня ... Nov 16 2007, 15:56   Paramedic Цитата(Puzan @ Nov 16 2007, 10:25) А кто ... Nov 16 2007, 08:12    sleo2000 ПРОБУЮ ВЫЛОЖИТЬ АРХИВ С РАБОТАЮЩИМ ПРИМЕРОМ ПОД EC... Nov 16 2007, 18:27 Leen Покажи конфиг gcc. И сколько их у тебя?
У меня lib... Nov 15 2007, 22:42 KA_ru Какой сборкой пользоваться.
всего нашёл три штуки.... Nov 16 2007, 16:20 вася пупкин блин Так, стыковать все это чудо с ходу не удалось
Буд... Nov 30 2007, 14:31 вася пупкин блин Эй! ну что - все всё наладили и ушли с форума?... Dec 1 2007, 17:21 IgorKossak Цитата(вася пупкин блин @ Dec 1 2007, 19... Dec 1 2007, 19:54 123730 Здесь было рассмотрено уже это но у мя не получило... Dec 20 2007, 18:48 v_shamaev Цитата(123730 @ Dec 20 2007, 21:48) ........ Dec 20 2007, 20:53 axle Цитата(123730 @ Dec 21 2007, 00:48) Здесь... Dec 21 2007, 08:56 123730 Да конешн), файлег был стырен с каково-то примера:... Dec 20 2007, 21:31 123730 Стырил я syscalls.c, serials.h, serials.c с рабоче... Dec 26 2007, 16:25 gte Может ли кто поделиться или подсказать где поискат... Mar 17 2008, 17:27 Hz! Цитата(gte @ Mar 17 2008, 19:27) Может ли... Mar 18 2008, 16:16 Doka alx2
очевидно из требования сборки newlib target-... Dec 31 2008, 14:06 alx2 Цитата(Doka @ Dec 31 2008, 19:06) очевидн... Jan 1 2009, 16:24 Doka Цитата(alx2 @ Jan 1 2009, 20:24) Или спро... Apr 8 2009, 09:45 alx2 Цитата(Doka @ Apr 8 2009, 14:45) 1) судя ... Apr 9 2009, 10:52 Doka Цитата(alx2 @ Jan 1 2009, 20:24) Или спро... Apr 10 2009, 09:52 klen 1. достаточно одного прохода
2. компиллеру для сбо... Apr 10 2009, 14:26 alx2 Цитата(Doka @ Apr 10 2009, 14:52) хорошо.... Apr 13 2009, 10:33 Doka всё.......я сдаюсь.............
где взять правиль... Apr 13 2009, 20:05 alx2 Цитата(Doka @ Apr 14 2009, 01:05) где взя... Apr 14 2009, 11:03  klen у меня и того проще конфиг GCC
../.... Apr 15 2009, 05:10 011119xx Пытаюсь запустить Эклипс. Пользуюсь документом Usi... Feb 28 2010, 14:34 Genadi Zawidowski Проект не плюсовый? Вываливай...
Код/DISCARD/ ... Feb 28 2010, 19:49 011119xx Извините, но мне не понятно что делать. То что это... Mar 1 2010, 17:41 AHTOXA Цитата(011119xx @ Mar 1 2010, 22:41) Изви... Mar 1 2010, 19:34 011119xx Спасибо. Это помогло. Mar 2 2010, 16:26 USTAL Всё.... Имел я ввиду этот Eclipse CDT для ARM вмес... May 14 2010, 02:50 Сергей Борщ Цитата(USTAL @ May 14 2010, 05:50) Дальше... May 14 2010, 05:39 klen Цитата(USTAL @ May 14 2010, 06:50) Имеете... May 14 2010, 06:44 IgorKossak YAGARTO + Cygwin - это же надо было додуматься... May 14 2010, 06:51 AHTOXA Цитата(IgorKossak @ May 14 2010, 12:51) А... May 14 2010, 07:47 ZiB Всем, привет!
Подскажите пожалуйста по Eclipse... May 16 2010, 06:45 klen Цитата(ZiB @ May 16 2010, 10:45) Всем, пр... May 16 2010, 08:20  AHTOXA Цитата(klen @ May 16 2010, 14:20) а сразу... May 16 2010, 09:11 ZiB Конечно это не сильная проблема, на данный момент ... May 16 2010, 10:06 klen а зачем эклипсу вообще знать чтото - мой личный по... May 17 2010, 08:03  AHTOXA Ну банальный пример:
Код#ifndef STM32F10X_CL
RCC-... May 17 2010, 08:18  Сергей Борщ Цитата(klen @ May 17 2010, 11:03) а зачем... May 17 2010, 08:24 ZiB Попробовал указать в
Compiler invocation command
и... May 17 2010, 09:52 011119xx При компиляции проекта получаю следующее:
**** Bu... Jun 11 2010, 16:04 AHTOXA Цитата(011119xx @ Jun 11 2010, 22:04) und... Jun 11 2010, 21:07
3 страниц
1 2 3 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|