Перейти к содержанию

    

Всем хороши коммерческие версии типа Keil, IAR, ... кроме цены. А "лекарство" выходит частенько с опозданием на год и более. Да и отладчики (JTAG) у них не самые дешевые.

Сейчас многие начинают советовать GCC на платформе Eclipce с OpenOCD дебагером, который поддерживает от wiggler-а до Segger-а - кому что по карману.

Да, GCC уступает немного коммерческим компиляторам по скорости и плотности кода, на у ARM-ов и памяти и скорости для большинства задач - с запасом.

Одна беда - при всем разнообразии подобных пакетов нет ни одного, чтобы поставил - и сразу заработало...

Может кто-то уже прошел через эти тернии? Вопрос не праздный...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Баян

http://electronix.ru/forum/index.php?act=S...ighlite=eclipse

МТЛинк за $70 не по карману ?

 

Я купил уже от OLIMEX ARM-JTAG и ARM-JTAG-Tiny - по документации они как раз под такую среду и заточены. Но после Keil здесь - как в дремучем лесу... ни загрузка, ни отладка не работает - только компилить простой пример пока получилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я использую Eclipse+GCC+OOCD+самосборное подобие Wiggler'a. Проблем нет (кроме одного всем известного глюка с вызовом функций из обработчика прерываний в ARM-моде). Всё собирал вручную.

Забыл сказать, что работаю в линуксе.

KEIL и IAR не пробовал (точнее пробовал, но как-то не пошло. непривычно).

Для AVR и MSP тоже использовал Эклипс+GCC, а для TMS320 - Эклипс+техасовский компилятор, который был жестоко выдран (собственно там ничего жестокого нет :) ) из из CCS, и который запускался через wine (кстати, прекрасно работал). Единственный минус - не нашел, как сделать отладку TMS-а из линукса.

Для Linux/x86 естественно тоже использую Эклипс+GCC. Его-же использую и для написания скриптов на Ruby/Python/Perl (иногда нужно).

Таким вот образом обеспечил себе обнообразие среды разработки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Puzan: не могли бы вы выложить рекомендации по настройке среды с нуля, а то я начал копать эту тему с той же целью - ободнообразить среды разработки. Правда, в цигвине. Пока знаю только как собирать гцц и утилиты. А вот интеграция эклипса с компилерами, да еще и разными, с дебагерами - это темный лес, терра инкогнита. Версии софта максимально свежие. И еще: мне не нужно знать, где взять "готовую сборку", чтоб, дескать, не мучаться. Хочу понять, как все это хозяйство друг к другу прикручивать.

Вы используете только внутрисхемный отладчик, или есть возможность симулировать (в т.ч. и периферию)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4. удаляете в Eclipse плагин CDT если он есть

5. качаете плагин embeddedCDT c www.zylin.com и ставите его(там все написано как)

 

2 klen:

Если удалить CDT, то софт для Win и Linux уже нельзя будет собирать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6. настраиваете в тулсах OpenOCD, в отладке arm-elf-gdb(тут главное загрузочный скрипт)

Вот с этим и предстоит, похоже, разбираться в основном. Есть куча док по каким-то тулзам. А не помешало бы и наличие howto по всем (или хотя бы многим) аспектам настройки среды выполнения программных проектов. Заодно, пр наличии такого мана больше новичков потянется к опенсорсу. А то когда я начинал (с год назад), посмотрел на клипсу, пощупал - не работает. А кейл завелся сразу. И так у многих.

Выкладываю здесь нашу переписку со sleo2000:

Пока поставил cygwin и учусь собирать бинутилы (ассемблер, линкер + еще немного) и собсно гцц под свои нужды. Насчет эклипса пока сильно не копал. Конечная цель моих изысканий - создать для себя (и написать хотя бы простенький howto по теме) среду разработки для процессоров с ядром арм и i386, чтобы можно было писать и микрокод, и настраивающе-тестирующие проги для ЭВМ в одной оболочке. Ну и чтоб дяди в сером не слишком приставали Может, получится объединить усилия? А то информации и в самом деле очень мало, даже на английском... Приходится перерывать кучи манов и форумов. Эффект пока мизерный.

С уважением, leen.

МЫ копаем эту тему вдвоем. На простых примерах собрать проект для LPC под этой средой (все вместе с ECLIPCE) вроде получается - осталось самое главное: научиться через JTAG грузить код в микропроцессор и отлаживать его там.

Тоже хотим сделать свой HowTo. Материалов для чайников много, но для тонкой настройки проектов придется штудировать отдельно описания всех компонентов и выбирать самое важное.

А причина примерно та же - чтобы не платить тысячи баксов за рабочее место, но при этом оставаться чистым перед законом.

Отлично, тогда, надо это все делать. У меня раньше не было опыта в разработке таких вещей. Но, по-моему, для начала надо поставить и согласовать цели и написать список TODO.

Я думаю, ко мне присоединится пара моих друзей, озадаченных этой проблемой - через некоторое время.

Цель - уже писал - создание бесплатной рабочей среды на основе открытых программ под различные адра (пока арм и ix86, затем неплохо покопать авр и мсп430), создание мануала по созданию этой среды. Среда должна обеспечивать выполнение следующих задач:

- создание проектов под конкретные чипы (не под абстрактрое арм7 ядро, а именно под кристалл - со своими стартапами, картами памяти и заголовочными файлами);

- редактирование исходников;

- контроль версий ПО (предлагаю опираться на SVN, как на более свежую по сравнению с CVS разработку);

- сборку проектов;

- отладку в симуляторе (по возможности с поддержкой периферии, хотя не факт, что это так необходимо) и на плате в режиме эмуляции;

- прошивку готовых изделий;

Задачи:

1 определить необходимые модули;

2 научиться собирать и ставить необхоодимые модули;

3 и далее - пока теряется в тумане.

Если будет желание помочь, дельные мысли - просим.

Пока что все в самом начале.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Вот с этим и предстоит, похоже, разбираться в основном. Есть куча док по каким-то тулзам. А не помешало бы и наличие howto по всем (или хотя бы многим) аспектам настройки среды выполнения программных проектов.
На Yagarto есть документация по прикручиванию Open OCD. Самой железки пока нет, поэтому не пробовал. Но выглядит документация довольно неплохо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
На Yagarto есть документация по прикручиванию Open OCD. Самой железки пока нет, поэтому не пробовал. Но выглядит документация довольно неплохо.

 

Документация то есть, причем по стилю - хуже, чем для чайников. Объем огромадный, но в основном за счет всех окон всех инсталяторов :biggrin:

 

Готовые сборки есть, и не одна - у меня есть Yagarto, Olimex, Amontec... Но пока эффект плачевный: все поставлено и запущено точно по ДОК-е, пример компилится (под LPC21xx), но даже при заливке сгенерированного HEX файла проверенным загрузчиком от Philips в чипе не работает...

 

При всей своей привлекательности этот инструмент уже многих, вероятно, заставил отвернуться. Мы вдвоем копаемся уже вторую неделю, но пока без явного положительного эффекта. А те же коммерческие среды (с ARM я работал под KEIL и IAR, для AVR есть шикарная pascale-образная среда у немцев со встроенной на уровне компилятора реально работающей многозадачностью и шикарными библиотеками под любую периферию) - так вот, эти среды дают практический выход на второй - третий день после первого запуска.

 

При всем моем уважении к концепции Open Source сегодня не уверен, что это дешевле - если я провожусь с установкой, настройкой и освоением месяц, то дешевле купить последнюю версию того же RealView или IAR... причем вместе с реально работающим JTAG отладчиком.

 

Если же общими усилиями удастся что-то сделать РЕАЛЬНО работающее даже в руках новичка - это будет реабилитацией Open Source.

Готов еще некоторое время посвятить этому мероприятию. И даже пописать итоговый мануал.

 

P.S. под unix - овыми платформами не работал и не смогу - есть определенные ограничения, поэтому речь с моей стороны только о "форточках".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Немного offtopic

Есть проект в eclipse, вроде всё работает, но почему-то eclipse упорно отказывается ходить по "Open Definition" на некоторые функции. Не на все, а только на некоторые.

Кто сталкивался с таким поведением?

 

И ещё вопрос, есть ли для eclipse модуль для автоматического выравнивания кода? По типу как в vim, indent.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Готовые сборки есть, и не одна - у меня есть Yagarto, Olimex, Amontec... Но пока эффект плачевный: все поставлено и запущено точно по ДОК-е, пример компилится (под LPC21xx), но даже при заливке сгенерированного HEX файла проверенным загрузчиком от Philips в чипе не работает...

Вы говорите об отладчике, компиляторе, линкере или вашей программе? Что не работает?

 

С отладчиком согласен, нужно повозится чтобы запустить. Но что может не работать в компиляторе?

Я пользуюсь arm-elf-gcc давно, сначала под XP, потом перешел на Linux. С компиляцией и сборкой проблем никаких.

Посмотрите примеры тут: http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/ . Должны отлично работать, я лично многие пробовал.

 

Может зададите вопрос поконкретнее? Какая задача и на каком этапе не работает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В GCC некорректно работает обработчик прерывания IRQ.

Для быстрой разработки программ используйте KEIL,

а для профессиональной работы - компилятор Green Hills.

Оба есть в местных закромах, так что на счёт цен не надо смешить народ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В GCC некорректно работает обработчик прерывания IRQ.

В чём заключается некорректность?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот обсуждение этого вопроса. Проблеме уже больше двух лет и никто её не решает, поскольку за GNU проекты никто не отвечает.

patchIRQ.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация