Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IAR EWARM -> Eclipse IDE + IAR plugin
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
ivainc1789
В Win7 64bit установлено:
1. IAR EWARM v6.30.6
2. Eclipse Indigo SR1
3. IAR Eclipse plugin v12.2

Скрипя мозгами пытаюсь пересесть с привычного и почти родного EWARM IDE на Eclipse IDE.
Возникли следующие вопросы:
1. Разработано ПО для трансивера сс1100, состоящее из "заголовочного" С файла rf1100.c, в котором вложены несколько "внутренних"
С файлов модулей и их собственных H файлов. Попытка втащить такое в Eclipse приводит к тому, что "внутренние" С файлы модулей расцениваются IDE как
самостоятельные и компилируются по отдельности, что конечно же приводит к ошибкам. Если подключить к проекту ТОЛЬКО rf1100.c, то
приходится указывать пути ко всем "внутренним", что несколько напрягает, т. к. проект размазывается по диску... Есть ли
возможность ввести в Eclipse дерево разработанного ПО полностью но к компиляции допустить только rf1100.c? И вообще, великое ли
это зло, использовать вкладывание С файла в С файл... В принципе могу переделать чтоб rf1100.c не содержал С вложений, сделав эти вложения самостоятельными исходниками, но это несколько усложняет использование этой группы исходников в новых проектах...
2. Не совсем понимаю, почему народ так стремится перелезть на этот Eclipse? Конечно, есть ряд фенечек редактора, с которыми удобнее, это я могу понять, но если это все, то почему не SlickEdit? Тут многое зависит от возможностей отладки в Eclipse, но ИМХО это тот же C-CPY от IAR, просто прикрученный, причем не все плагины поддерживаются... Или я не прав? Т. е. хотелось бы узнать, дает ли отладка в Eclipse что-то большее/более удобное, чем отладка в EWARM?
3. Не нашел, как перетащить строку (drag and drop). В EWARM выводил курсор за начало строки, выделял одним кликом строку и тащил в нужное место. В Слике также...
4. Как подсветить парную скобку по аналогии с EWARM? По дефолту подсвечивается прозрачной окантовкой которая малозаметна...
_Артём_
Цитата(ivainc1789 @ Feb 22 2012, 12:05) *
1. Разработано ПО для трансивера сс1100, состоящее из "заголовочного" С файла rf1100.c, в котором вложены несколько "внутренних"
С файлов модулей и их собственных H файлов. Попытка втащить такое в Eclipse приводит к тому, что "внутренние" С файлы модулей расцениваются IDE как
самостоятельные и компилируются по отдельности, что конечно же приводит к ошибкам. Если подключить к проекту ТОЛЬКО rf1100.c, то
приходится указывать пути ко всем "внутренним", что несколько напрягает, т. к. проект размазывается по диску... Есть ли
возможность

Несколько странное решение. В смысле делать с-файлы заголовочными.
Может лучше не искать возможности в Eclipse, а занятся приведением исходников в порядок методом копипаста.
Или тащить грабли дальше...

Цитата(ivainc1789 @ Feb 22 2012, 12:05) *
2. Не совсем понимаю, почему народ так стремится перелезть на этот Eclipse?

Потому что freeware и при этом функционал впечатляет.
И инсталлировать не надо (portable).

Цитата(ivainc1789 @ Feb 22 2012, 12:05) *
3. Не нашел, как перетащить строку (drag and drop). В EWARM выводил курсор за начало строки, выделял одним кликом строку и тащил в нужное место. В Слике также...

И в Eclipse также, разницы не заметил.


Цитата(ivainc1789 @ Feb 22 2012, 12:05) *
4. Как подсветить парную скобку по аналогии с EWARM? По дефолту подсвечивается прозрачной окантовкой которая малозаметна...

Наверное в настройках.
Сам бы хотел знать, потому как да - малозаметна...
ivainc1789
Цитата(_Артём_ @ Feb 24 2012, 00:31) *
Несколько странное решение. В смысле делать с-файлы заголовочными.

Насколько я знаю, вложение С файлов друг в друга не приветствуется, но не возбраняется. По кр мере, в EWARM такое проходит на ура и нет никаких проблем.

Цитата
Потому что freeware и при этом функционал впечатляет.
И инсталлировать не надо (portable).
Все это так, но такое развитие будет напоминать Firefox и Miranda - примеры "коллективных" проектов, где добиться стабильной и безглючной работы бывает непросто.


Цитата
И в Eclipse также, разницы не заметил.
А вот возможно и пример "коллективного" труда, если у вас та же версия, что и у меня. Сейчас запустил Indigo с нуля (как скачано с сайта), завел С проект, новый С файл и... выделить строку одним кликом в редакторе невозможно. Только если курсором провести по всей строке и затем тащить... И вид указателя курсора не меняется/ведет себя не должным образом... А между тем фича настолько нужная, что без нее никуда... по кр мере мне уж точно...

И еще, если вы пробовали отладку через IAR плагин: там интерфейс конечно же совсем другой, но подскажите хотя бы есть ли возможность ввести в окно произвольное кол-во переменных и с периодом 1 сек наблюдать их значения при выполнении программы (как в live watch window в IAR EWARM). Я пока не смог найти...
Сергей Борщ
QUOTE (ivainc1789 @ Feb 24 2012, 06:55) *
Насколько я знаю, вложение С файлов друг в друга не приветствуется, но не возбраняется. По кр мере, в EWARM такое проходит на ура и нет никаких проблем.
Как видите - проблемы есть, и именно от того, что где-то это не возбраняется. В Эклипсе вы можете использовать свой makefile, в котором явно указать - какие файлы компилировать. Что-то подобное делает и оболочка ИАРа перед компиляцией. Возможно это можно как-то сделать и через оболочку в Эклипсе, но мне такой подход неизвестен, ибо не был нужен. Непонятно, что мешает включаемым (include) файлам дать общепринятое расширение .h?
QUOTE (ivainc1789 @ Feb 24 2012, 06:55) *
выделить строку одним кликом в редакторе невозможно.
Ставьте курсор в начало строки. Теперь не отпуская кнопку мыши двигайте курсор на одну строку вниз. Или с клавиатуры Shift+стрелка вниз. Даже и не знал, что бывают какие-то еще способы выделения строки.
ivainc1789
Цитата(Сергей Борщ @ Feb 24 2012, 12:50) *
Непонятно, что мешает включаемым (include) файлам дать общепринятое расширение .h?
Мешает то, что в заголовочные файлы не принято пихать исполняемый код, строго говоря не для того они предназначены... Я все же переделал все исходники обычным образом, будем считать этот вопрос закрытым...
Цитата
Ставьте курсор в начало строки. Теперь не отпуская кнопку мыши двигайте курсор на одну строку вниз. Или с клавиатуры Shift+стрелка вниз. Даже и не знал, что бывают какие-то еще способы выделения строки.
Даже и не предполагал, что кто-то так мучается... Ведь в большинстве мне известных текстовых редакторов практикуется простой метод: один клик - выделить строку, второй клик с удержанием - тащить... Повелось такое вроде с Word'a...

Посмотрел Known issues раздел к плагину... Тоскливо... По-моему, рановато еще пересаживаться... Все же EWARM пока выигрывает бесспорно и говорить можно только о прикручивании какого-нить Слика к EWARM.
Кстати, нет ли у кого лекарства к SlickEdit Core Plugin for Eclipse v3.7.1? В Инете сходу не нашлось, а триал всего 15 дней...
_Артём_
Цитата(ivainc1789 @ Feb 24 2012, 12:26) *
Мешает то, что в заголовочные файлы не принято пихать исполняемый код, строго говоря не для того они предназначены...

Скорей наоборот: инклудить с-файлы не принято, а распологать в h-файлах исполняемый код как раза принято (inline).


Цитата(ivainc1789 @ Feb 24 2012, 12:26) *
один клик - выделить строку, второй клик с удержанием - тащить... Повелось такое вроде с Word'a...

У меня такой Eclipse:
Цитата
Eclipse IDE for C/C++ Developers

Version: Helios Service Release 1
Build id: 20100917-0705

Разница с Word есть: кликать нужно 3 раза, а потом тащить.

Цитата(ivainc1789 @ Feb 24 2012, 12:26) *
Даже и не предполагал, что кто-то так мучается... Ведь в большинстве мне известных текстовых редакторов практикуется простой метод:

Проверил в Visual Studio 2008: никаким количеством кликов строка целиком вообще не выделяется.
А выделяется так:
Цитата
Ставьте курсор в начало строки. Теперь не отпуская кнопку мыши двигайте курсор на одну строку вниз. Или с клавиатуры Shift+стрелка вниз. Даже и не знал, что бывают какие-то еще способы выделения строки.


Может Word в данном случае совсем не пример того как надо делать?

Цитата(ivainc1789 @ Feb 24 2012, 12:26) *
Все же EWARM пока выигрывает бесспорно

Выигрывает только за счёт поддержки отладчиков.
А как редактор - даже сравнивать невозможно: IAR недалеко от notepad-а ушёл.
ivainc1789
Цитата
У меня такой Eclipse:
Речь не про Helios, а про Indigo.

Цитата
Разница с Word есть: кликать нужно 3 раза, а потом тащить.
Проверил в Visual Studio 2008: никаким количеством кликов строка целиком вообще не выделяется.

Да нет, выделяться должно так: выводим курсор ЗА начало строки (на поле), указатель мыши (стрелка) поворачивается на 45 град вправо и только тогда кликаем. Строка выделена. Теперь отводим курсор на любое место в выделении, кликаем и удерживаем, тащим куда надо... Всю жись везде так было, кроме простейших редакторов...
Цитата
Может Word в данном случае совсем не пример того как надо делать?
В данном случае Word как раз пример того, как удобно и быстро можно таскать строки. Минимум телодвижений, максимум результата.
Цитата
Выигрывает только за счёт поддержки отладчиков.
Ну уж нет. За счет качества отладки (возможностей)! По кр мере в пределах данной темы.
Цитата
А как редактор - даже сравнивать невозможно: IAR недалеко от notepad-а ушёл.
Тут согласен, но получается, что все, что дает пользователю Эклипс for ARM - бесплатность и редактор. Остальное много хуже...
Признаюсь, единственное, почему посмотрел на Эклипс - это невозможность в EWARM "прыгать" на некоторые определения. Например в коде:
Код
  NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

IAR EWARM не может найти и показать никакое определение (команда по прав кн мыши). Почему, мне непонятно... Но после перехода с AVR на ARM требования к редактору безусловно стали жестче - такие возможности "подсмотреть на месте" всякие определения сторонних библиотек конечно очень важны...

Вы сами то для ARMов что используете?
_Артём_
Цитата(ivainc1789 @ Feb 24 2012, 18:57) *
Да нет, выделяться должно так: выводим курсор ЗА начало строки (на поле)

Там где номера строк?
Да, получилось - не знал. Спасибо.

Цитата(ivainc1789 @ Feb 24 2012, 18:57) *
В данном случае Word как раз пример того, как удобно и быстро можно таскать строки. Минимум телодвижений, максимум результата.

Ну дело вкуса: кому что нравится. И возможно мне редко приходится работать с Word, поэтому пользоваться им толком не умею, когда всёж приходится в нём что-то делать всегда плююсь и поминаю нехорошими словами его создателей.


Цитата(ivainc1789 @ Feb 24 2012, 18:57) *
Эклипс for ARM - бесплатность и редактор. Остальное много хуже...

Этого мало? По моему более чем...

Цитата(ivainc1789 @ Feb 24 2012, 18:57) *
Вы сами то для ARMов что используете?

Для армов я пока никакой редактор не использую: только начал осваивать, поэтому вопрос выбора редактора для меня дело 10-е.
Думаю что выберу либо Eclipse либо Visual Studio.
Работаю пока только с АВР: лет 8 назад начал использовать как редактор Visual Studio (2003 кажется), как симулятор естественно AVRStudio. IAR - компилятор.

Цитата(ivainc1789 @ Feb 24 2012, 18:57) *
Но после перехода с AVR на ARM требования к редактору безусловно стали жестче

По моему требования стали жёстче уже давно, поэтому ни IAR, ни Keil как редакторы вообще не рассматриваю (оба отстали лет на 10 в развитии), но как симуляторы - они вполне на высоте (может и на недосягаемой для Eclipse, пока не понял что может Eclipse как симулятор).
bullit
Добрый день, форумчане!

Проблема нарисовалась!
При отладке через Eclipse + тулчейн ИАРа программа(прошивка) сразу падает в ХардФаулт. Уже и стартап обложил брейкпойнтами - не могу отловить от чего!
При этом тот же проект в ИАРе не падает!

Кто нибудь сталкивался? Есть решение?

PS хм. похоже найден источник трабла: количество точек прерывания когда их много, возможно больше ~6, то всё привет семье.... Удалил брейкпойнты клипсы - заработало. (Брейкпойнты С-SPY были по нулям). Будем наблюдать...
Legotron
Цитата(ivainc1789 @ Feb 22 2012, 13:05) *
2. Не совсем понимаю, почему народ так стремится перелезть на этот Eclipse? Конечно, есть ряд фенечек редактора, с которыми удобнее, это я могу понять, но если это все, то почему не SlickEdit?
Тут многое зависит от возможностей отладки в Eclipse, но ИМХО это тот же C-CPY от IAR, просто прикрученный, причем не все плагины поддерживаются... Или я не прав?
Т. е. хотелось бы узнать, дает ли отладка в Eclipse что-то большее/более удобное, чем отладка в EWARM?

Пользуюсь тулчейном Eclipse + IAR для STM32 уже почти год.
Очень доволен.
Я считаю что отладка в IAR всегда была на высоте, чего не скажешь о редакторе.
Eclipse + IAR это сочетание отличного компилятора, отличного отладчика C-SPY и превосходного редактора и все в одном IDE.
Что еще для нужно для счастья? sm.gif

Цитата(bullit @ Dec 17 2012, 08:29) *
Добрый день, форумчане!
Проблема нарисовалась!

А с каким чипом работаете?
У меня с STM32 при количестве брейков больше 4х просто вылетает предупреждение.
bullit
Конкретно сейчас STM32F407. И коллега замечал что с точками останова что-то не то.
Возможно дело в кетайском жилинке и его дровами 4.42 ... И-бо с 100 серией таких фокусов не было.
Ну это даже хорошо! Нужно код отлаживать в голове, а не брейк поинтами!

Ну а по поводу IAR + Eclipse - это наверное личное восприятие. У меня 3-ое коллег работают чисто в ИАРе, и не парятся! Меня многое в редакторе Иара откровенно бесит. Тот же "go to definition... " который работает через 10 раз. Почему? ответа не нашел. Открывал Браузер соурс (по моему так называется) вроде помогает но не всегда!
Ну а всякие фенечки с подсветкой синтаксиса и... многое, что очень часто используется!
Двумя словами: каждому своё! Я свой выбор сделал!
Да и нет проблем работать там или тут: кидаем файлы проекта иар в экспортируемую папку клипсы и запускай хоть в клипсе хоть в иаре!

А кстати еще одна проблема: В настройках компилятора в клипсе почему-то при выборе "FPU ядра" ругается на файл, что мол его нет! Посмотрел, отличается на одну букву от имеющихся файлов! Кто знает в чём проблема?
Legotron
Цитата(bullit @ Dec 17 2012, 18:33) *
Конкретно сейчас STM32F407. И коллега замечал что с точками останова что-то не то.
Возможно дело в кетайском жилинке и его дровами 4.42 ... И-бо с 100 серией таких фокусов не было.
Ну это даже хорошо! Нужно код отлаживать в голове, а не брейк поинтами!

Да, сложные системы обычно очень плохо поддаются отладке.
Это мучительное и неблагодарное дело.
Гораздо эффективнее использовать логи или юнит-тесты и конечно же думать.

Цитата(bullit @ Dec 17 2012, 18:33) *
Ну а по поводу IAR + Eclipse - это наверное личное восприятие. У меня 3-ое коллег работают чисто в ИАРе, и не парятся! Меня многое в редакторе Иара откровенно бесит. Тот же "go to definition... " который работает через 10 раз. Почему? ответа не нашел. Открывал Браузер соурс (по моему так называется) вроде помогает но не всегда!
Ну а всякие фенечки с подсветкой синтаксиса и... многое, что очень часто используется!
Двумя словами: каждому своё! Я свой выбор сделал!
Да и нет проблем работать там или тут: кидаем файлы проекта иар в экспортируемую папку клипсы и запускай хоть в клипсе хоть в иаре!

Я считаю что все зависит от задач и того как их решать.
Я например, для себя избрал путь С++ в embedded.
Я стараюсь мыслить объектами, идиомами, паттернами..
Для меня очень важен удобный инструмент, способный показывать иерархию классов, позволяющий делать удобный рефакторинг, делать интеграцию систем контроля версий, Doxygen и т.д.
Писать в иаре ООП код неудобно.
Это устаревший редактор.
Людям, которые не понимают этого, нужно всего лишь дать совет с месяц поработать например с C# или Java.
Xenia
Цитата(Legotron @ Dec 18 2012, 15:16) *
Это устаревший редактор.


Начиная с версии 6.50 EWARM имеет новый редактор. Кстати, неплохой. И уже прошедший испытание на других платформах, куда он был внедрен ранее.
Да и сама новая версия рванула вперед в скорости выполнения генерируемого кода (по крайней мере так рекламируется).

Так, может быть, ну его, этот Эклипс?
Legotron
Цитата(Xenia @ Dec 18 2012, 17:02) *
Начиная с версии 6.50 EWARM имеет новый редактор. Кстати, неплохой. И уже прошедший испытание на других платформах, куда он был внедрен ранее.
Да и сама новая версия рванула вперед в скорости выполнения генерируемого кода (по крайней мере так рекламируется).

Так, может быть, ну его, этот Эклипс?

Source browser call graph for easy function hierarchy navigation
Похоже это все что им удалось сделать sm.gif

Меня обзор ни разу не впечатлил, редактор все такой же старый.
Я уверен что они понимают что их редактор никуда не годится, и допиливают заплатки, а сил сделать заново свою нормальную IDE нет.
Радует что они активно пилят плагин для эклипса, вот допилят его чтобы "из коробки" без глюков работал, там и посмотрим что народ выберет.
bullit
Цитата
Людям, которые не понимают этого, нужно всего лишь дать совет с месяц поработать например с C# или Java.

В том то и дело что люди знакомы как с клипсой (кто-то работал с кодекомпозером от техаса - которая надо сказать работает куда лучше чем iar + eclipse - имхо) так и вижул студией (C#) - но при этом они себя нормально чувствуют в редакторе иара! Привычка!
Например на не работающий "го ту дефинишен... " в иаре они юзают глобальный поиск! И не парятся не разу. Код в основном на С.

Думаю не стоит вести речь хорошо это или плохо. Каждый сам решит что ему по душе!

PS ну а в самых сладких снах я так и вижу как IAR интегрировался в клипсу как родной, на примере техасовских товарищей... за такую сказку и заплатить не жалко. (ps2 техасовская прога стоит 490$ - имхо для фирмы - пущие копейки!), а не за 90 или 180 косарей за иар.
Xenia
Цитата(bullit @ Dec 18 2012, 21:18) *
PS ну а в самых сладких снах я так и вижу как IAR интегрировался в клипсу как родной, на примере техасовских товарищей... за такую сказку и заплатить не жалко. (ps2 техасовская прога стоит 490$ - имхо для фирмы - пущие копейки!), а не за 90 или 180 косарей за иар.


IAR лёгок на помине - прислал мне сегодня на почту рекламу: "Eclipse IDE now available for users of IAR Embedded Workbench for ARM".

Новость датирована сегодняшним числом:
Цитата
Uppsala, Sweden—December 19, 2012—Today, IAR Systems® announced that a complete integration with the Eclipse IDE is available for the high-performance development tool suite IAR Embedded Workbench® for ARM®. With this integration, IAR Systems offers Eclipse support as an alternative to the IAR Embedded Workbench IDE, providing its customers with the possibility to use its world-leading build tools and debugger within the Eclipse IDE.

Хорошо бы, если бы кто-нибудь это проверил/разобрался (и сюда написал), а то по рекламе трудно судить о том, как этим пользоваться.
bullit
Судя по этой страничке: Плагин немного поправили, и сделали поддержку 6.50 версии! Обратите внимание на новую картинку! особенно на менюшку!
Ну будем пробовать!
По анонсу: просто возможности плагина стали выше! и вроде как инструментарий новый появился!
Ну и Клипсу прям холиварят!
bullit
Рановато я стал хвалить выход плагина... файла нет! целый день проверял ссылку - тишина!
Надо писать в поддержку!
Xenia
Цитата(bullit @ Dec 20 2012, 20:25) *
Рановато я стал хвалить выход плагина... файла нет! целый день проверял ссылку - тишина!
Надо писать в поддержку!


Подождите чуточку - сегодня, всего несколько часов назад, вышла версия EWARM 5.02, которая потяжелела по сравнению с прошлой (рекламируемой) на целых 73 Мбайт.
Вдруг там оно появилось?

Впрочем, в релизноте про "uC/Probe integration" написано, а про Eclipse вроде бы ничего не сказано...
http://supp.iar.com/Updates/?product=EWARM
http://supp.iar.com/FilesPublic/UPDINFO/00...readme.ENU.html
ig_z
QUOTE (Xenia @ Dec 20 2012, 19:47) *
в релизноте про "uC/Probe integration" написано

Интересно! Я считал, что uC/Probe сделана как таргет и тулчейн независимая утилита для трассировки времени исполнения. Именно для случая отсутствия каких либо отладчиков. В чем глубокий смысл создавать CSPY плагин для "uC/Probe integration" непонятно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.