реклама на сайте
подробности

 
 
19 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> Eclipse + GCC для ARM, Среда разработки для ARM, причем бесплатная...
Puzan
сообщение Nov 10 2007, 16:55
Сообщение #31


Участник
*

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



Цитата(sleo2000 @ Nov 9 2007, 16:02) *
Если все так просто - может все-таки поделитесь опытом? Мои мучения с LPC продолжаются...


ОК. Тогда давайте по порядку. Что делаете, что работает, что не работает? Может ошибки какие выводит?
Go to the top of the page
 
+Quote Post
ZiB
сообщение Nov 11 2007, 14:23
Сообщение #32


Частый гость
**

Группа: Свой
Сообщений: 122
Регистрация: 26-07-05
Из: Россия, Томск
Пользователь №: 7 109



Всем, привет!

Скачал документ "http://www.atmel.com/dyn/resources/prod_documents/atmel_tutorial_source.zip",
далее делал все по инструкции,
скачал
URL http://www.atmel.com/dyn/resources/prod_do...ISP%20v1.10.exe
URL http://www.yagarto.de/download/yagarto/yag....6_20070901.exe
URL http://www.yagarto.de/download/openocd/ope...-setup-rc01.exe
URL http://www.yagarto.de/download/yagarto/yag...70303-setup.exe
URL http://www.yagarto.de/download/yagarto/yag...70909-setup.exe

вообщем все что написано было все проделал и все сошлось как должно, но вот последный этап не прошел, точнее этап компиляции проекта.
выдается одно предупреждение и одна ошибка

Severity and Description Path Resource Location Creation Time Id
Error launching external scanner info generator (gcc -E -P -v -dD D:/@ Denis/ARM_Yagarto_Projects/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c)
demo_at91sam7_blink_flash Unknown 1194790250765 12


Severity and Description Path Resource Location Creation Time Id
make: *** [blinker.o] Error 127 demo_at91sam7_blink_flash line 0 1194790250687 11

Подскажите в чем может быть дело?
Go to the top of the page
 
+Quote Post
xelax
сообщение Nov 12 2007, 06:46
Сообщение #33


Местный
***

Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035



Цитата(ZiB @ Nov 11 2007, 17:23) *
Severity and Description Path Resource Location Creation Time Id
Error launching external scanner info generator (gcc -E -P -v -dD D:/@ Denis/ARM_Yagarto_Projects/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c)
demo_at91sam7_blink_flash Unknown 1194790250765 12
Severity and Description Path Resource Location Creation Time Id
make: *** [blinker.o] Error 127 demo_at91sam7_blink_flash line 0 1194790250687 11

Подскажите в чем может быть дело?


так вроде не gcc, а arm-elf-gcc. Посмотрите, в настройках проекта, компилятор по умолчанию gcc устанавливается. Его необходимо заменить на arm-elf-gcc.
Go to the top of the page
 
+Quote Post
dch
сообщение Nov 14 2007, 02:30
Сообщение #34


Профессионал
*****

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



Цитата(DASM @ Oct 24 2007, 01:59) *
Баян
http://electronix.ru/forum/index.php?act=S...ighlite=eclipse
МТЛинк за $70 не по карману ?

ссылка битая

Цитата(klen @ Oct 25 2007, 08:37) *
1. Устанавливаете Sun JRE 6u3 (тоесть самый свежий)
2. качаете Eclipse
3. обновляете Eclipse
4. удаляете в Eclipse плагин CDT если он есть
5. качаете плагин embeddedCDT c www.zylin.com и ставите его(там все написано как)
5. запускаете и проверяете.
6. настраиваете в тулсах OpenOCD, в отладке arm-elf-gdb(тут главное загрузочный скрипт)
7. наслаждаетесь

я работаю так под Масдаем XP и под Ubuntu 6.10 64bit

откуда это все качается, просветите плиз.
Go to the top of the page
 
+Quote Post
Leen
сообщение Nov 14 2007, 02:54
Сообщение #35


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Цитата(dch @ Nov 14 2007, 12:30) *
ссылка битая

Это ссылка на поиск по форуму с ключевым словом eclipse, судя по act=search & highlite=eclipse.
Цитата
откуда это все качается, просветите плиз.

Sun JRE 6u3 - c сайта Sun
Eclipse - c сайта Eclipse
Все, что не находится - спрашивается сначала у поисковиков, как внутреннего по форуму, так и внешних, типа гугля.
Go to the top of the page
 
+Quote Post
sleo2000
сообщение Nov 14 2007, 14:31
Сообщение #36


Участник
*

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



Цитата(Puzan @ Nov 10 2007, 20:55) *
ОК. Тогда давайте по порядку. Что делаете, что работает, что не работает? Может ошибки какие выводит?


На сегодняшний день ситуация такая: с простым демо-примером все разобрались - компилится, грузится, отлаживается. Даже по следам написали ДОК-у на русском. Можем поделиться этим комплектом (работаем с Olimex JTAG).
Теперь возникли проблемы с подключением библиотек. Коммерческие среды делают это практически автоматом, а тут в одном makefile можно заблудиться.
Нужен просто пример подключения стандартных библиотек (stdio, stdlib, string), чтобы проект компилился... Сам пример (main) может ничего и не содержать, кроме пары обращений к библиотеке (например, sprintf(), memset(), ...)


--------------------
Sleo
Go to the top of the page
 
+Quote Post
Leen
сообщение Nov 14 2007, 22:03
Сообщение #37


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Так все ж стандартно...
main.c
Код
#include <stdio.h>

при вызове компилера (во флагах в макефайле или напрямую в ком. строке)
-I "путь к заголовку".
Если надо влинковать библиотеки
-L "путь к библиотекам"
Про эти флаги очень подробно расписано в мане по гцц, ближе к концу.
PS: выложи, пожалуйста.
Go to the top of the page
 
+Quote Post
Puzan
сообщение Nov 15 2007, 08:07
Сообщение #38


Участник
*

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



Цитата(sleo2000 @ Nov 14 2007, 17:31) *
Теперь возникли проблемы с подключением библиотек. Коммерческие среды делают это практически автоматом, а тут в одном makefile можно заблудиться.
Нужен просто пример подключения стандартных библиотек (stdio, stdlib, string), чтобы проект компилился... Сам пример (main) может ничего и не содержать, кроме пары обращений к библиотеке (например, sprintf(), memset(), ...)


Покажите ваш паспорт makefile.

А вообще, я не рекомендую использовать printf/sprintf из стандартной библиотеки. Очень уж он там громоздкий. Напишите свой или возьмите готовый. В сети много вариантов валяется.
Go to the top of the page
 
+Quote Post
sleo2000
сообщение Nov 15 2007, 15:51
Сообщение #39


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
Leen
сообщение Nov 15 2007, 22:42
Сообщение #40


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Покажи конфиг gcc. И сколько их у тебя?
У меня libc.a 3 штуки - одна для i686 (/lib), две для армов в арм и тумб режимах, /usr/arm-elf/lib и /usr/arm-elf/lib/thumb.
Вот конфиг gcc и arm-elf-gcc
Код
C:\>gcc -v
Using built-in specs.
Target: i686-pc-cygwin
Configured with: ../gcc-4.2.2/configure --prefix=/usr --exec-prefix=/usr --sysco
nfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --inf
odir=/usr/share/info --enable-languages=c,c++ --enable-nls --without-included-ge
ttext -without-x --with-system-zlib --enable-threads=posix --disable-win32-regis
try --enable-hash-synchronization --enable-libstdcxx-debug
Thread model: posix
gcc version 4.2.2

C:\>arm-elf-gcc -v
Using built-in specs.
Target: arm-elf
Configured with: ../gcc-4.2.2/configure --prefix=/usr --exec-prefix=/usr --libdi
r=/usr/lib --libexecdir=/usr/lib --target=arm-elf --disable-nls --enable-interwo
rk --enable-multilib --with-newlib --with-headers=../newlib-1.15.0/newlib/libc/i
nclude
Thread model: single
gcc version 4.2.2
Компилил все в /tmp, распаковав архивы и создав рядом папки с теми же именами с припиской -build (gcc-4.2.2, gcc-4.2.2-build, gcc-4.2.2-build-arm-elf). Оттуда ставил. Компилил под cygwin.
P.S. тут хотя бы с си разобраться...
Go to the top of the page
 
+Quote Post
axle
сообщение Nov 16 2007, 04:26
Сообщение #41


Частый гость
**

Группа: Новичок
Сообщений: 81
Регистрация: 19-04-07
Пользователь №: 27 167



Зачем вы изобретаете велосипед??? Вы makefile с нуля пишете что ли? Возьмите готовый пример, запустите и потом уже изменяйте под ваши нужды. Адреса с примерами приводили уже много раз: http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/ . Это один из многих. Остальные спросите у Google.

Цитата(sleo2000 @ Nov 15 2007, 21:51) *
1. По поводу библиотек. Их 8 пар (!) - то есть 16 штук одноименных (например. 16 штук libc.a) - методом перебора ничего не достигли, то не нравится несовместимость по little-big endian (по этому признаку, как понял, они поделены на две группы по 8 штук). Дальше внутри группы то не нравится реализация floating point - ругается на несовместимость аппаратной и программной реализаций (хотя в LPC2138 аппаратной реализации нет). Структура директорий GCC при установке Eclipse - стандартная. Так из какой директории брать библиотеки?

Ваш компилятор собран с опцией --enable-multilib, что для arm является обычным делом. Поэтому у вас много разновидностей одной и той же библиотеки (например для arm/thumb, little/big-endian, hardfloat/softfloat и т.д.). Линкер сам выбирает какую библиотеку подключать в зависимости от опций, которые вы задаете (-mthumb, -mthumb-interwork, -mfpu=vfp и т.д.). Путь к библиотеке задавать не надо!!! (если конечно у вас не специфическая задача). Для подключения библиотеки libc нужно указать опцию линкера -lc, для libm укажите -lm и т.д.

Цитата(sleo2000 @ Nov 15 2007, 21:51) *
ВОЗНИКЛА СЛЕДУЮЩАЯ БЕДА! Два дня пытаюсь сделать простейший пример на С++ под Eclipse - он упорно делает проект, в котором сам делает makefile, назначает старт программы с адреса 0x8000, и никакие манипуляции с настройками не могут этого изменить.
Задача у меня простая: написать простейшую программу с примитивнейшим объектом (классом) типа LED, который будет мигать, и заставить ее работать в плате LPC-P2138.

У кого-то есть возможность помочь? Чувствуется, что среда умеет многое, но как ее все заставить сделать это? и под моим управлением... Если получится - готов для остальных тоже описать все в виде учебника...

У вас интернет есть или нет??? http://www.yagarto.de/howto/yagarto2/index.html
На всякий случай еще текстом: При создании проекта нужно выбирать "Makefile project"->"Other toolchain". Тогда Eclipse не будет создавать за вас makefile, а будет ожидать что его создадите вы.
Go to the top of the page
 
+Quote Post
Paramedic
сообщение Nov 16 2007, 07:05
Сообщение #42


Частый гость
**

Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436



Пытаюсь под Ubuntu 7.04 настроить связку Eclipse + OpenOCD + GDB + Wiggler + AT91RM9200. Всё качал из http://mikestirling.co.uk/drupal/?q=node/2 . При попытке отладить простой проектик возникают проблемы - при выполнении загрузки вижу такое сообщение:
putpkt: write failed: Broken pipe.
Бинарник при этом генерится работоспособный.
В основном ориентируюсь на документ "Using Open Source Tools for AT91SAM7S Cross Development", но там всё расписано для SAM7 и под винду.
Если кто-нибудь пробовал настраивать эту связку, поделитесь плз. тестовым проектиком.
Go to the top of the page
 
+Quote Post
Puzan
сообщение Nov 16 2007, 07:25
Сообщение #43


Участник
*

Группа: Новичок
Сообщений: 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?
Go to the top of the page
 
+Quote Post
axle
сообщение Nov 16 2007, 08:08
Сообщение #44


Частый гость
**

Группа: Новичок
Сообщений: 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 все было бы гораздо проще.
Он бы сам в зависимости от флагов выбирал необходимую библиотеку.
Go to the top of the page
 
+Quote Post
Paramedic
сообщение Nov 16 2007, 08:12
Сообщение #45


Частый гость
**

Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436



Цитата(Puzan @ Nov 16 2007, 10:25) *
А кто выводит это сообщение? OpenOCD, GDB или Eclipse?

Судя по всему gdb выводит в консоли eclipse при исполнении команды load.
Go to the top of the page
 
+Quote Post

19 страниц V  < 1 2 3 4 5 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 06:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01526 секунд с 7
ELECTRONIX ©2004-2016