|
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
|
|
|
|
|
Oct 23 2007, 23:51
|
Участник
Группа: Участник
Сообщений: 25
Регистрация: 23-10-07
Из: Москва
Пользователь №: 31 665
|
Цитата(DASM @ Oct 24 2007, 02:59) Я купил уже от OLIMEX ARM-JTAG и ARM-JTAG-Tiny - по документации они как раз под такую среду и заточены. Но после Keil здесь - как в дремучем лесу... ни загрузка, ни отладка не работает - только компилить простой пример пока получилось.
--------------------
Sleo
|
|
|
|
|
Oct 24 2007, 13:15
|
Участник
Группа: Новичок
Сообщений: 30
Регистрация: 16-12-05
Пользователь №: 12 295
|
Я использую Eclipse+GCC+OOCD+самосборное подобие Wiggler'a. Проблем нет (кроме одного всем известного глюка с вызовом функций из обработчика прерываний в ARM-моде). Всё собирал вручную. Забыл сказать, что работаю в линуксе. KEIL и IAR не пробовал (точнее пробовал, но как-то не пошло. непривычно). Для AVR и MSP тоже использовал Эклипс+GCC, а для TMS320 - Эклипс+техасовский компилятор, который был жестоко выдран (собственно там ничего жестокого нет ) из из CCS, и который запускался через wine (кстати, прекрасно работал). Единственный минус - не нашел, как сделать отладку TMS-а из линукса. Для Linux/x86 естественно тоже использую Эклипс+GCC. Его-же использую и для написания скриптов на Ruby/Python/Perl (иногда нужно). Таким вот образом обеспечил себе обнообразие среды разработки.
|
|
|
|
|
Oct 24 2007, 22:49
|
Частый гость
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343
|
2 Puzan: не могли бы вы выложить рекомендации по настройке среды с нуля, а то я начал копать эту тему с той же целью - ободнообразить среды разработки. Правда, в цигвине. Пока знаю только как собирать гцц и утилиты. А вот интеграция эклипса с компилерами, да еще и разными, с дебагерами - это темный лес, терра инкогнита. Версии софта максимально свежие. И еще: мне не нужно знать, где взять "готовую сборку", чтоб, дескать, не мучаться. Хочу понять, как все это хозяйство друг к другу прикручивать. Вы используете только внутрисхемный отладчик, или есть возможность симулировать (в т.ч. и периферию)?
|
|
|
|
|
Oct 25 2007, 06:32
|
Частый гость
Группа: Свой
Сообщений: 101
Регистрация: 9-01-06
Пользователь №: 12 967
|
Цитата(klen @ Oct 25 2007, 09:37) 4. удаляете в Eclipse плагин CDT если он есть 5. качаете плагин embeddedCDT c www.zylin.com и ставите его(там все написано как) 2 klen: Если удалить CDT, то софт для Win и Linux уже нельзя будет собирать?
|
|
|
|
|
Oct 25 2007, 08:52
|
Частый гость
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343
|
Цитата(klen @ Oct 25 2007, 16:37) 6. настраиваете в тулсах OpenOCD, в отладке arm-elf-gdb(тут главное загрузочный скрипт) Вот с этим и предстоит, похоже, разбираться в основном. Есть куча док по каким-то тулзам. А не помешало бы и наличие howto по всем (или хотя бы многим) аспектам настройки среды выполнения программных проектов. Заодно, пр наличии такого мана больше новичков потянется к опенсорсу. А то когда я начинал (с год назад), посмотрел на клипсу, пощупал - не работает. А кейл завелся сразу. И так у многих. Выкладываю здесь нашу переписку со sleo2000: Цитата Цитата Цитата Пока поставил cygwin и учусь собирать бинутилы (ассемблер, линкер + еще немного) и собсно гцц под свои нужды. Насчет эклипса пока сильно не копал. Конечная цель моих изысканий - создать для себя (и написать хотя бы простенький howto по теме) среду разработки для процессоров с ядром арм и i386, чтобы можно было писать и микрокод, и настраивающе-тестирующие проги для ЭВМ в одной оболочке. Ну и чтоб дяди в сером не слишком приставали Может, получится объединить усилия? А то информации и в самом деле очень мало, даже на английском... Приходится перерывать кучи манов и форумов. Эффект пока мизерный. С уважением, leen.
МЫ копаем эту тему вдвоем. На простых примерах собрать проект для LPC под этой средой (все вместе с ECLIPCE) вроде получается - осталось самое главное: научиться через JTAG грузить код в микропроцессор и отлаживать его там. Тоже хотим сделать свой HowTo. Материалов для чайников много, но для тонкой настройки проектов придется штудировать отдельно описания всех компонентов и выбирать самое важное. А причина примерно та же - чтобы не платить тысячи баксов за рабочее место, но при этом оставаться чистым перед законом. Отлично, тогда, надо это все делать. У меня раньше не было опыта в разработке таких вещей. Но, по-моему, для начала надо поставить и согласовать цели и написать список TODO. Я думаю, ко мне присоединится пара моих друзей, озадаченных этой проблемой - через некоторое время. Цель - уже писал - создание бесплатной рабочей среды на основе открытых программ под различные адра (пока арм и ix86, затем неплохо покопать авр и мсп430), создание мануала по созданию этой среды. Среда должна обеспечивать выполнение следующих задач: - создание проектов под конкретные чипы (не под абстрактрое арм7 ядро, а именно под кристалл - со своими стартапами, картами памяти и заголовочными файлами); - редактирование исходников; - контроль версий ПО (предлагаю опираться на SVN, как на более свежую по сравнению с CVS разработку); - сборку проектов; - отладку в симуляторе (по возможности с поддержкой периферии, хотя не факт, что это так необходимо) и на плате в режиме эмуляции; - прошивку готовых изделий; Задачи: 1 определить необходимые модули; 2 научиться собирать и ставить необхоодимые модули; 3 и далее - пока теряется в тумане. Если будет желание помочь, дельные мысли - просим. Пока что все в самом начале.
|
|
|
|
|
Oct 25 2007, 12:54
|
Участник
Группа: Участник
Сообщений: 25
Регистрация: 23-10-07
Из: Москва
Пользователь №: 31 665
|
Цитата(Сергей Борщ @ Oct 25 2007, 13:44) На Yagarto есть документация по прикручиванию Open OCD. Самой железки пока нет, поэтому не пробовал. Но выглядит документация довольно неплохо. Документация то есть, причем по стилю - хуже, чем для чайников. Объем огромадный, но в основном за счет всех окон всех инсталяторов Готовые сборки есть, и не одна - у меня есть Yagarto, Olimex, Amontec... Но пока эффект плачевный: все поставлено и запущено точно по ДОК-е, пример компилится (под LPC21xx), но даже при заливке сгенерированного HEX файла проверенным загрузчиком от Philips в чипе не работает... При всей своей привлекательности этот инструмент уже многих, вероятно, заставил отвернуться. Мы вдвоем копаемся уже вторую неделю, но пока без явного положительного эффекта. А те же коммерческие среды (с ARM я работал под KEIL и IAR, для AVR есть шикарная pascale-образная среда у немцев со встроенной на уровне компилятора реально работающей многозадачностью и шикарными библиотеками под любую периферию) - так вот, эти среды дают практический выход на второй - третий день после первого запуска. При всем моем уважении к концепции Open Source сегодня не уверен, что это дешевле - если я провожусь с установкой, настройкой и освоением месяц, то дешевле купить последнюю версию того же RealView или IAR... причем вместе с реально работающим JTAG отладчиком. Если же общими усилиями удастся что-то сделать РЕАЛЬНО работающее даже в руках новичка - это будет реабилитацией Open Source. Готов еще некоторое время посвятить этому мероприятию. И даже пописать итоговый мануал. P.S. под unix - овыми платформами не работал и не смогу - есть определенные ограничения, поэтому речь с моей стороны только о "форточках".
--------------------
Sleo
|
|
|
|
|
Oct 26 2007, 03:27
|
Частый гость
Группа: Новичок
Сообщений: 81
Регистрация: 19-04-07
Пользователь №: 27 167
|
Цитата(sleo2000 @ Oct 25 2007, 19:54) Готовые сборки есть, и не одна - у меня есть Yagarto, Olimex, Amontec... Но пока эффект плачевный: все поставлено и запущено точно по ДОК-е, пример компилится (под LPC21xx), но даже при заливке сгенерированного HEX файла проверенным загрузчиком от Philips в чипе не работает... Вы говорите об отладчике, компиляторе, линкере или вашей программе? Что не работает? С отладчиком согласен, нужно повозится чтобы запустить. Но что может не работать в компиляторе? Я пользуюсь arm-elf-gcc давно, сначала под XP, потом перешел на Linux. С компиляцией и сборкой проблем никаких. Посмотрите примеры тут: http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/ . Должны отлично работать, я лично многие пробовал. Может зададите вопрос поконкретнее? Какая задача и на каком этапе не работает?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|