Jump to content

    
Sign in to follow this  
ivainc1789

IAR EWARM -> Eclipse IDE + IAR plugin

Recommended Posts

В 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? По дефолту подсвечивается прозрачной окантовкой которая малозаметна...

Share this post


Link to post
Share on other sites
1. Разработано ПО для трансивера сс1100, состоящее из "заголовочного" С файла rf1100.c, в котором вложены несколько "внутренних"

С файлов модулей и их собственных H файлов. Попытка втащить такое в Eclipse приводит к тому, что "внутренние" С файлы модулей расцениваются IDE как

самостоятельные и компилируются по отдельности, что конечно же приводит к ошибкам. Если подключить к проекту ТОЛЬКО rf1100.c, то

приходится указывать пути ко всем "внутренним", что несколько напрягает, т. к. проект размазывается по диску... Есть ли

возможность

Несколько странное решение. В смысле делать с-файлы заголовочными.

Может лучше не искать возможности в Eclipse, а занятся приведением исходников в порядок методом копипаста.

Или тащить грабли дальше...

 

2. Не совсем понимаю, почему народ так стремится перелезть на этот Eclipse?

Потому что freeware и при этом функционал впечатляет.

И инсталлировать не надо (portable).

 

3. Не нашел, как перетащить строку (drag and drop). В EWARM выводил курсор за начало строки, выделял одним кликом строку и тащил в нужное место. В Слике также...

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

 

 

4. Как подсветить парную скобку по аналогии с EWARM? По дефолту подсвечивается прозрачной окантовкой которая малозаметна...

Наверное в настройках.

Сам бы хотел знать, потому как да - малозаметна...

Share this post


Link to post
Share on other sites
Несколько странное решение. В смысле делать с-файлы заголовочными.

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

 

Потому что freeware и при этом функционал впечатляет.

И инсталлировать не надо (portable).

Все это так, но такое развитие будет напоминать Firefox и Miranda - примеры "коллективных" проектов, где добиться стабильной и безглючной работы бывает непросто.

 

 

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

 

И еще, если вы пробовали отладку через IAR плагин: там интерфейс конечно же совсем другой, но подскажите хотя бы есть ли возможность ввести в окно произвольное кол-во переменных и с периодом 1 сек наблюдать их значения при выполнении программы (как в live watch window в IAR EWARM). Я пока не смог найти...

Share this post


Link to post
Share on other sites
Насколько я знаю, вложение С файлов друг в друга не приветствуется, но не возбраняется. По кр мере, в EWARM такое проходит на ура и нет никаких проблем.
Как видите - проблемы есть, и именно от того, что где-то это не возбраняется. В Эклипсе вы можете использовать свой makefile, в котором явно указать - какие файлы компилировать. Что-то подобное делает и оболочка ИАРа перед компиляцией. Возможно это можно как-то сделать и через оболочку в Эклипсе, но мне такой подход неизвестен, ибо не был нужен. Непонятно, что мешает включаемым (include) файлам дать общепринятое расширение .h?

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

Share this post


Link to post
Share on other sites
Непонятно, что мешает включаемым (include) файлам дать общепринятое расширение .h?
Мешает то, что в заголовочные файлы не принято пихать исполняемый код, строго говоря не для того они предназначены... Я все же переделал все исходники обычным образом, будем считать этот вопрос закрытым...

Ставьте курсор в начало строки. Теперь не отпуская кнопку мыши двигайте курсор на одну строку вниз. Или с клавиатуры Shift+стрелка вниз. Даже и не знал, что бывают какие-то еще способы выделения строки.
Даже и не предполагал, что кто-то так мучается... Ведь в большинстве мне известных текстовых редакторов практикуется простой метод: один клик - выделить строку, второй клик с удержанием - тащить... Повелось такое вроде с Word'a...

 

Посмотрел Known issues раздел к плагину... Тоскливо... По-моему, рановато еще пересаживаться... Все же EWARM пока выигрывает бесспорно и говорить можно только о прикручивании какого-нить Слика к EWARM.

Кстати, нет ли у кого лекарства к SlickEdit Core Plugin for Eclipse v3.7.1? В Инете сходу не нашлось, а триал всего 15 дней...

Share this post


Link to post
Share on other sites
Мешает то, что в заголовочные файлы не принято пихать исполняемый код, строго говоря не для того они предназначены...

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

 

 

один клик - выделить строку, второй клик с удержанием - тащить... Повелось такое вроде с Word'a...

У меня такой Eclipse:

Eclipse IDE for C/C++ Developers

 

Version: Helios Service Release 1

Build id: 20100917-0705

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

 

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

Проверил в Visual Studio 2008: никаким количеством кликов строка целиком вообще не выделяется.

А выделяется так:

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

 

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

 

Все же EWARM пока выигрывает бесспорно

Выигрывает только за счёт поддержки отладчиков.

А как редактор - даже сравнивать невозможно: IAR недалеко от notepad-а ушёл.

Share this post


Link to post
Share on other sites
У меня такой 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ов что используете?

Share this post


Link to post
Share on other sites
Да нет, выделяться должно так: выводим курсор ЗА начало строки (на поле)

Там где номера строк?

Да, получилось - не знал. Спасибо.

 

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

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

 

 

Эклипс for ARM - бесплатность и редактор. Остальное много хуже...

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

 

Вы сами то для ARMов что используете?

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

Думаю что выберу либо Eclipse либо Visual Studio.

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

 

Но после перехода с AVR на ARM требования к редактору безусловно стали жестче

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

 

Share this post


Link to post
Share on other sites

Добрый день, форумчане!

 

Проблема нарисовалась!

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

При этом тот же проект в ИАРе не падает!

 

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

 

PS хм. похоже найден источник трабла: количество точек прерывания когда их много, возможно больше ~6, то всё привет семье.... Удалил брейкпойнты клипсы - заработало. (Брейкпойнты С-SPY были по нулям). Будем наблюдать...

 

Share this post


Link to post
Share on other sites
2. Не совсем понимаю, почему народ так стремится перелезть на этот Eclipse? Конечно, есть ряд фенечек редактора, с которыми удобнее, это я могу понять, но если это все, то почему не SlickEdit?

Тут многое зависит от возможностей отладки в Eclipse, но ИМХО это тот же C-CPY от IAR, просто прикрученный, причем не все плагины поддерживаются... Или я не прав?

Т. е. хотелось бы узнать, дает ли отладка в Eclipse что-то большее/более удобное, чем отладка в EWARM?

Пользуюсь тулчейном Eclipse + IAR для STM32 уже почти год.

Очень доволен.

Я считаю что отладка в IAR всегда была на высоте, чего не скажешь о редакторе.

Eclipse + IAR это сочетание отличного компилятора, отличного отладчика C-SPY и превосходного редактора и все в одном IDE.

Что еще для нужно для счастья? :)

 

Добрый день, форумчане!

Проблема нарисовалась!

А с каким чипом работаете?

У меня с STM32 при количестве брейков больше 4х просто вылетает предупреждение.

Share this post


Link to post
Share on other sites

Конкретно сейчас STM32F407. И коллега замечал что с точками останова что-то не то.

Возможно дело в кетайском жилинке и его дровами 4.42 ... И-бо с 100 серией таких фокусов не было.

Ну это даже хорошо! Нужно код отлаживать в голове, а не брейк поинтами!

 

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

Ну а всякие фенечки с подсветкой синтаксиса и... многое, что очень часто используется!

Двумя словами: каждому своё! Я свой выбор сделал!

Да и нет проблем работать там или тут: кидаем файлы проекта иар в экспортируемую папку клипсы и запускай хоть в клипсе хоть в иаре!

 

А кстати еще одна проблема: В настройках компилятора в клипсе почему-то при выборе "FPU ядра" ругается на файл, что мол его нет! Посмотрел, отличается на одну букву от имеющихся файлов! Кто знает в чём проблема?

Share this post


Link to post
Share on other sites
Конкретно сейчас STM32F407. И коллега замечал что с точками останова что-то не то.

Возможно дело в кетайском жилинке и его дровами 4.42 ... И-бо с 100 серией таких фокусов не было.

Ну это даже хорошо! Нужно код отлаживать в голове, а не брейк поинтами!

Да, сложные системы обычно очень плохо поддаются отладке.

Это мучительное и неблагодарное дело.

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

 

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

Ну а всякие фенечки с подсветкой синтаксиса и... многое, что очень часто используется!

Двумя словами: каждому своё! Я свой выбор сделал!

Да и нет проблем работать там или тут: кидаем файлы проекта иар в экспортируемую папку клипсы и запускай хоть в клипсе хоть в иаре!

Я считаю что все зависит от задач и того как их решать.

Я например, для себя избрал путь С++ в embedded.

Я стараюсь мыслить объектами, идиомами, паттернами..

Для меня очень важен удобный инструмент, способный показывать иерархию классов, позволяющий делать удобный рефакторинг, делать интеграцию систем контроля версий, Doxygen и т.д.

Писать в иаре ООП код неудобно.

Это устаревший редактор.

Людям, которые не понимают этого, нужно всего лишь дать совет с месяц поработать например с C# или Java.

Share this post


Link to post
Share on other sites
Это устаревший редактор.

 

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

Да и сама новая версия рванула вперед в скорости выполнения генерируемого кода (по крайней мере так рекламируется).

 

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

 

Share this post


Link to post
Share on other sites
Начиная с версии 6.50 EWARM имеет новый редактор. Кстати, неплохой. И уже прошедший испытание на других платформах, куда он был внедрен ранее.

Да и сама новая версия рванула вперед в скорости выполнения генерируемого кода (по крайней мере так рекламируется).

 

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

Source browser call graph for easy function hierarchy navigation

Похоже это все что им удалось сделать :)

 

Меня обзор ни разу не впечатлил, редактор все такой же старый.

Я уверен что они понимают что их редактор никуда не годится, и допиливают заплатки, а сил сделать заново свою нормальную IDE нет.

Радует что они активно пилят плагин для эклипса, вот допилят его чтобы "из коробки" без глюков работал, там и посмотрим что народ выберет.

Share this post


Link to post
Share on other sites
Людям, которые не понимают этого, нужно всего лишь дать совет с месяц поработать например с C# или Java.

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

Например на не работающий "го ту дефинишен... " в иаре они юзают глобальный поиск! И не парятся не разу. Код в основном на С.

 

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

 

PS ну а в самых сладких снах я так и вижу как IAR интегрировался в клипсу как родной, на примере техасовских товарищей... за такую сказку и заплатить не жалко. (ps2 техасовская прога стоит 490$ - имхо для фирмы - пущие копейки!), а не за 90 или 180 косарей за иар.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this