Николай Анатольевич 0 10 ноября, 2007 Опубликовано 10 ноября, 2007 · Жалоба Если все так просто - может все-таки поделитесь опытом? Мои мучения с LPC продолжаются... ОК. Тогда давайте по порядку. Что делаете, что работает, что не работает? Может ошибки какие выводит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZiB 0 11 ноября, 2007 Опубликовано 11 ноября, 2007 · Жалоба Всем, привет! Скачал документ "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 Подскажите в чем может быть дело? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xelax 0 12 ноября, 2007 Опубликовано 12 ноября, 2007 · Жалоба 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dch 0 14 ноября, 2007 Опубликовано 14 ноября, 2007 · Жалоба Баян http://electronix.ru/forum/index.php?act=S...ighlite=eclipse МТЛинк за $70 не по карману ? ссылка битая 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 откуда это все качается, просветите плиз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
leen 0 14 ноября, 2007 Опубликовано 14 ноября, 2007 · Жалоба ссылка битая Это ссылка на поиск по форуму с ключевым словом eclipse, судя по act=search & highlite=eclipse. откуда это все качается, просветите плиз. Sun JRE 6u3 - c сайта Sun Eclipse - c сайта Eclipse Все, что не находится - спрашивается сначала у поисковиков, как внутреннего по форуму, так и внешних, типа гугля. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sleo2000 0 14 ноября, 2007 Опубликовано 14 ноября, 2007 · Жалоба ОК. Тогда давайте по порядку. Что делаете, что работает, что не работает? Может ошибки какие выводит? На сегодняшний день ситуация такая: с простым демо-примером все разобрались - компилится, грузится, отлаживается. Даже по следам написали ДОК-у на русском. Можем поделиться этим комплектом (работаем с Olimex JTAG). Теперь возникли проблемы с подключением библиотек. Коммерческие среды делают это практически автоматом, а тут в одном makefile можно заблудиться. Нужен просто пример подключения стандартных библиотек (stdio, stdlib, string), чтобы проект компилился... Сам пример (main) может ничего и не содержать, кроме пары обращений к библиотеке (например, sprintf(), memset(), ...) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
leen 0 14 ноября, 2007 Опубликовано 14 ноября, 2007 · Жалоба Так все ж стандартно... main.c #include <stdio.h> при вызове компилера (во флагах в макефайле или напрямую в ком. строке) -I "путь к заголовку". Если надо влинковать библиотеки -L "путь к библиотекам" Про эти флаги очень подробно расписано в мане по гцц, ближе к концу. PS: выложи, пожалуйста. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Николай Анатольевич 0 15 ноября, 2007 Опубликовано 15 ноября, 2007 · Жалоба Теперь возникли проблемы с подключением библиотек. Коммерческие среды делают это практически автоматом, а тут в одном makefile можно заблудиться. Нужен просто пример подключения стандартных библиотек (stdio, stdlib, string), чтобы проект компилился... Сам пример (main) может ничего и не содержать, кроме пары обращений к библиотеке (например, sprintf(), memset(), ...) Покажите ваш паспорт makefile. А вообще, я не рекомендую использовать printf/sprintf из стандартной библиотеки. Очень уж он там громоздкий. Напишите свой или возьмите готовый. В сети много вариантов валяется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sleo2000 0 15 ноября, 2007 Опубликовано 15 ноября, 2007 · Жалоба Так все ж стандартно... 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. У кого-то есть возможность помочь? Чувствуется, что среда умеет многое, но как ее все заставить сделать это? и под моим управлением... Если получится - готов для остальных тоже описать все в виде учебника... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
leen 0 15 ноября, 2007 Опубликовано 15 ноября, 2007 · Жалоба Покажи конфиг 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. тут хотя бы с си разобраться... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
axle 0 16 ноября, 2007 Опубликовано 16 ноября, 2007 · Жалоба Зачем вы изобретаете велосипед??? Вы makefile с нуля пишете что ли? Возьмите готовый пример, запустите и потом уже изменяйте под ваши нужды. Адреса с примерами приводили уже много раз: http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/ . Это один из многих. Остальные спросите у Google. 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 и т.д. ВОЗНИКЛА СЛЕДУЮЩАЯ БЕДА! Два дня пытаюсь сделать простейший пример на С++ под Eclipse - он упорно делает проект, в котором сам делает makefile, назначает старт программы с адреса 0x8000, и никакие манипуляции с настройками не могут этого изменить. Задача у меня простая: написать простейшую программу с примитивнейшим объектом (классом) типа LED, который будет мигать, и заставить ее работать в плате LPC-P2138. У кого-то есть возможность помочь? Чувствуется, что среда умеет многое, но как ее все заставить сделать это? и под моим управлением... Если получится - готов для остальных тоже описать все в виде учебника... У вас интернет есть или нет??? http://www.yagarto.de/howto/yagarto2/index.html На всякий случай еще текстом: При создании проекта нужно выбирать "Makefile project"->"Other toolchain". Тогда Eclipse не будет создавать за вас makefile, а будет ожидать что его создадите вы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Paramedic 0 16 ноября, 2007 Опубликовано 16 ноября, 2007 · Жалоба Пытаюсь под 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 и под винду. Если кто-нибудь пробовал настраивать эту связку, поделитесь плз. тестовым проектиком. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Николай Анатольевич 0 16 ноября, 2007 Опубликовано 16 ноября, 2007 · Жалоба 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. Пытаюсь под Ubuntu 7.04 настроить связку Eclipse + OpenOCD + GDB + Wiggler + AT91RM9200. При попытке отладить простой проектик возникают проблемы - при выполнении загрузки вижу такое сообщение: putpkt: write failed: Broken pipe. А кто выводит это сообщение? OpenOCD, GDB или Eclipse? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
axle 0 16 ноября, 2007 Опубликовано 16 ноября, 2007 · Жалоба Это можно автоматизировать (как сделал я). Кусок 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 все было бы гораздо проще. Он бы сам в зависимости от флагов выбирал необходимую библиотеку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Paramedic 0 16 ноября, 2007 Опубликовано 16 ноября, 2007 · Жалоба А кто выводит это сообщение? OpenOCD, GDB или Eclipse? Судя по всему gdb выводит в консоли eclipse при исполнении команды load. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться