Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Какой компилятор выбрать IAR или Keil?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
s1avik
Поделитесь пожалуйста мнением, какой компилятор выбрать для проекта на LPC213x. Есть evaluation version от Keil, есть вылеченный IAR; вроде с виду все красивые,только начальство предлагает потратиться на лицензионную версию и просит срочно решить что брать. С ARMами никогда ранее не работал, поэтому интересует мнение коллег.
KRS
Если уж покупать, то лучше всего родной софт от ARM
RealView development suit
и железки для отладки, но больно дорогие они sad.gif
кстати компилер родной армовский лучше на мой взгляд оптимизирует чем ИАР

Но вот я привык работать с ИАРом, как здесь уже говорили он дает больше возможностей контролировать все.
Evgeny_CD
1. Зависит от проектов
* оптимизация на что? размер|скорость| время разработки?

2. Я бы выбрал GCC, а на оставшиеся деньги купил бы хороший осц | логический анализатор| JTAG приблуды.

Посмотрите http://www.microcross.com/html/gnu_x-tools.html

А вот это у нас было
http://www.microcross.com/html/visual_x-tools.html
не впечатлило, .NET круче все равно. Ну или всякие там Source Insight, Slick Edit и пр.

3. Вот еще гляньте
www.olimex.com/dev/pdf/ARM%20Cross%20Development%20with%20Eclipse.pdf
dxp
Цитата(Evgeny_CD @ Sep 14 2005, 15:51)
1. Зависит от проектов
* оптимизация на что? размер|скорость| время разработки?

2. Я бы выбрал GCC, а на оставшиеся деньги купил бы хороший осц | логический анализатор| JTAG приблуды.
*

Боюсь, что хороший осц за такие деньги не купишь. То же самое касается и логизатора.
DASM
да ладно тебе, на 3.5 штуки (стоимость яар) вполне приличный можно купить.
Evgeny_CD
Цитата(DASM @ Sep 14 2005, 20:51)
да ладно тебе, на 3.5 штуки (стоимость яар) вполне приличный можно купить.
И даже за 3500-1000=2500 тоже приборчик будет очень даже! А вот JLINK'ами на 2.5k$ затариться можно до пенсии biggrin.gif
dch
Все зависит от софта который делаете. GCC хорошо, в том плане что не нужно платить. Это родной компилятор Linux, eCos. Но это свободные средства разработки, поддерживаемые обществом. В плане ошибок не очень понятно что лудше GCC или коммерческий продукт.
dxp
Цитата(DASM @ Sep 14 2005, 22:51)
да ладно тебе, на 3.5 штуки (стоимость яар) вполне приличный можно купить.
*

И какой же?
Andy Mozzhevilov
Цитата(dxp @ Sep 15 2005, 09:49)
Цитата(DASM @ Sep 14 2005, 22:51)
да ладно тебе, на 3.5 штуки (стоимость яар) вполне приличный можно купить.
*

И какой же?
*



Для кого-то и младший Tektronix за 1.5 штуки зелени будет вполне приличным скопом. А кто-то скажет, что ему Лекроевского WaveRunner-а мало, и надо не менее WavePro. У меня вот TDS210 старенький еще, и в большинстве случаев его хватает.
И к чему эти споры в этой конфе и под этим топиком?
dxp
Цитата(Andy Mozzhevilov @ Sep 15 2005, 12:51)
Цитата(dxp @ Sep 15 2005, 09:49)
Цитата(DASM @ Sep 14 2005, 22:51)
да ладно тебе, на 3.5 штуки (стоимость яар) вполне приличный можно купить.
*

И какой же?
*



Для кого-то и младший Tektronix за 1.5 штуки зелени будет вполне приличным скопом. А кто-то скажет, что ему Лекроевского WaveRunner-а мало, и надо не менее WavePro. У меня вот TDS210 старенький еще, и в большинстве случаев его хватает.
И к чему эти споры в этой конфе и под этим топиком?
*


Речь шла про хороший скоп. А хорошие скопы начинаются от 150 т.р. и называются они LeCroy. А Теки 2000-й серии со своими 2.5К на канал - просто смотрелки, уж никак они на скопы хорошие не тянут. То же самое касается и 3000-й серии с ее 10К на канал. Более-менее, это 5000-й серия, но это уже из другой оперы. За те пятаки Лекрой все равно лучше девайсы предоставляет.
dch
Цитата(dxp @ Sep 15 2005, 10:23)
хороший

Можно взять бэушный. Дешевле обойдется.
s1avik
Спасибо всем за ответы wink.gif
Пожалуй, остановлюсь на Keil.
Критерий отбора - за день скомпилировать программу, которая мигает светодиодиком и сыпет в RS буковки 'А', залить её Филипсовским флэшлоадером через RS. И чтоб заработала.
С Keil это удалось сделать за пару часов, он очень грамотно заточен конкретно под lpc2xxx. Отличный симулятор, в котором в т.ч. видно, что сыпется из уарта.
GNU GCC (прикрученный к uVision)- полдня, пришлось повозиться со startupом и почитать книжки.
IAR - за день ничего не получилось - надо интенсивнее повозиться со startupом, насколько я понял

ЗЫ
Начальство по наивности предполагало, что лицензия будет стоить существенно дешевле)) Не найдётся-ли у кого лекарства для Keil?
aforestman
s1avik, посмотрите вот здесь
Evgeny_CD
Цитата(s1avik @ Sep 16 2005, 11:59)
...Начальство по наивности предполагало, что лицензия будет стоить существенно дешевле))...
Т.е. запала "правильности" хватило не надолго? biggrin.gif
-=Space=-
Попроботвал GNU и KEIL

Один и тот же проект
FFT1024 во float

У KEILа код получился почти в 4 раза меньше (по размеру HEXа)
+ Работает в 10 раз быстрее

Операция комплексного умножения занимает в KEILe 280 циклов, она же в GNU 2258
cos и sin, такое ощущение что считаются с помощью рядов Тейлора
20502 циклов cos и 16346 sin
У KEIL они же ~ по 800.

Оптимизация по скорости у GNU ничего не дала.

Нафига мне такой GNU ?
VAI
s1avik, про лекарство смотри сюда http://www.caxapa.ru/echo/arm.html?id=40031
Evgeny_CD
Цитата(-=Space=- @ Sep 26 2005, 14:03)
Попроботвал GNU и KEIL
Один и тот же проект
FFT1024 во float
У KEILа код получился почти в 4 раза меньше (по размеру HEXа)
+ Работает в 10 раз быстрее
Компилятор и либы - это разные сущности. В общем случае одно от другого не зависит. Помнится, когда нас прижало, мы нашли GCC оптимизированную библиотеку float для ARM, которая на наших задачах давала выигрыш 5 раз. Сейчас найти не смог - сорри. sad.gif
asen
Народ я сегодня скачал IAR Embedded Workbench for ARM Evaluation 4.30A дали лицензию на 30 дней подскажите где раздобыть лекарство а то 30 дней маловато
-=Space=-
Народ , что то я совсем запутался.
подскажите.

Значит у нас есть 2 сишника Keil и GNU Sygnus
оба работают через mVision

В этой ветке пробегадло сообщение про GNU GCC http://www.gnuarm.com/
скачал, поставил, к mVision не подключился, но
из "ARM Cross Development with Eclipse.pdf" вытащил как компилить "вручную"

получился батник
Код
@echo off
c:\Micro\ARM\GNUARM\bin\arm-elf-as -ahls -mapcs-32 -o Startup.o Startup.s > Startup.lst
c:\Micro\ARM\GNUARM\bin\arm-elf-gcc -I./ -c -fno-common -O3 -g main.c timer.c serial.c ADC.c
c:\Micro\ARM\GNUARM\bin\arm-elf-ld.exe -v -Map main.map -TphyCore.ld -o main.out Startup.o main.o ADC.o serial.o timer.o
c:\Micro\ARM\GNUARM\bin\arm-elf-objcopy.exe -O ihex main.out main.hex
c:\Micro\ARM\GNUARM\bin\arm-elf-objdump.exe -x --syms main.out  > main.dmp
pause


Простой проект с таймером и лампочками откомпилился и работает
Проблемы появились с FTT
линкер стал выдавать ошибку типа
/complex.c:10: undefined reference to `__addsf3'
/complex.c:12: undefined reference to `__addsf3'

вот complex.c
Код
7 Complex add(const Complex a,const Complex b)
8 {
9 Complex result;
10    result.r = a.r + b.r;
11    result.i = a.i + b.i;
12   return(result);
13}

Код
typedef
struct{
  float r;
  float i;
  } Complex;

похоже что это из-за float. Типа линкер не нашел процедур сложения float
в libgcc.a они есть.

Кстати стоит ли вообще с этим компилером заниматься? Будет ли результат лучше чем у Sygnus?
VAI
asen
Посмотрите здесь

http://www.caxapa.ru/mcu/wwwboard.html?id=38107

флэшка, как качать с рапидшары http://v572028.narod.ru/img/MATROSKINY.swf
Виктория
To asen
Самый простой и известный способ - установить на компьютере дату на год вперед.
Evgeny_CD
Цитата
Компилятор и либы - это разные сущности.

Какая хорошая классика smile.gif (правду может не в тему bb-offtopic.gif - мы тоже лет так 12-13 назад поступали при использовании Си-ных компиляторов для Intel 8086/80С188)
asen
Фаил *.swf а вторая ссылка нехочит скачивать и вобще что куда сувать
VAI
asen

Цитата
а вторая ссылка нехочит скачивать и вобще что куда сувать

сувать надо в адресную строку Вашего интернет-броузера (IE).
1. Вы смотрели по ссылке на сахару? Там написан пароль на архив и дана ссылка. По этой ссылке надо скачать лекарство, используя пароль и winrar не моложе версии 3.40 открыть архив и действовать в соответствии с инструкциями на лекарство.

Чтобы качать с ресурса "рапидшаре" надо нажать конпку "Free", откроется счетчик, когда он дотикает до 0 появится ссылка на файл. Что и показывается на флэшке.

Цитата
Фаил *.swf

2. Если Вам все-таки не понятно, как скачивать с рапидшары, но у Вас не получается запустить в строке бровзера или скачать флэшку (это из-за narod.ru)
http://v572028.narod.ru/img/MATROSKINY.swf , зайдите на http://v572028.narod.ru и увидите эту флэшку в окне бровзера.
Флэшка размером 300 кб, поэтому, в зависимости от скорости Вашего соединения, вам надо подождать.
Make_Pic
Ну не ставится у меня и с новым генератором лицензий - LICENSE ERROR 208 RENEW LICENSE ID sad.gif

Может еще какие то данные при проверке лицензии использует кейл кроме ID computer?
Aleks17
А почему всё-таки Keil а не IAR.
Я работал правда не под ARM-ы, а под Atmel AVR и 8051, но мнение сложилось однозначное - ни за какие коврижки я Keil-ом пользоваться не буду. Код получается большой и тормозной + определённые глюки компилятора.
olegk
to Aleks17
U keil netu Kompilatora na AVR!!!
Snachalo Dumat, potom PIsat'
Make_Pic
Цитата(Aleks17 @ Sep 27 2005, 14:23)
А почему всё-таки Keil а не IAR.
Я работал правда не под ARM-ы, а под Atmel AVR и 8051, но мнение сложилось однозначное - ни за какие коврижки я Keil-ом пользоваться не буду. Код получается большой и тормозной + определённые глюки компилятора.
*

Вот блин! А я то думал...
А если серьезно, то компилятор С от Keil для 8051 один из лучших, а вся среда, включая симулятор на первом месте среди всего остального! Так что рискну не согласиться с вашим мнением. А глюков хватает и в других компиляторах. Код вполне приемлемый и по скорости и по длине.

А вот для ARM нужен, т.к. умеет работать с GCC/
VAI
2Make_Pic
Так у Вас получилось установить?
Make_Pic
Цитата(VAI @ Sep 27 2005, 17:43)
2Make_Pic
Так у Вас получилось установить?
*

Нет, и апдейт не катит. Действительно прийдется на новый винт новую винду, но это позже - нет времени.
Make_Pic
Цитата(VAI @ Sep 27 2005, 17:43)
2Make_Pic
Так у Вас получилось установить?
*

Попылся поставить на XP, где и муха не сидела - те же грабли!!! Может я что-то не так делаю? Можно по пунктам установку?
Или генератор лицензий 2 только под WIN2000?

Я делаю так: запускаю инсталлятор карм240, заполняю имя орг. и т.д. от фонаря, далее ставлю в каталог C:\КЕIL, после finish запускаю кейлиц 2, устанавливаю АРМ, v2, генерю лицензию и сериал, далее в tооls.ini во все секции после [] ставлю LIС0= и SN= полученные выше, далее запускаю UV3
и смотрю эбаут, в нем виден номер лицензии, но период до 201X года нет, призапуске деббагера ошибка ERR208. Все то же для карм15 прокатывает!!!
s1avik
Цитата(Evgeny_CD @ Sep 23 2005, 16:09)
Т.е. запала "правильности" хватило не надолго?  biggrin.gif
*

Ну, не в правильности особо дело. Типа поддержка производителя, не надо морочиться с "лечением" и т.п.
Была-бы моя воля, пользовался б GNUшным компилятором и VIMом. Под Линуксом. Так ведь не поймут. Корпоративный стандарт-с.
s1avik
-=Space=-, кстати, в комплекте с CrossWorks тоже идёт GCC (мне попалась версия 3.4.4). Я думаю, его запросто можно оттуда отковырять и это будет легально. Судя по всему, ребята собирали его под себя сами, возможно их сборка отличается от кейловской и гнуармовской.
Krom
Цитата(Make_Pic @ Sep 28 2005, 16:25)
Цитата(VAI @ Sep 27 2005, 17:43)
2Make_Pic
Так у Вас получилось установить?
*

Попылся поставить на XP, где и муха не сидела - те же грабли!!! Может я что-то не так делаю? Можно по пунктам установку?
Или генератор лицензий 2 только под WIN2000?

Я делаю так: запускаю инсталлятор карм240, заполняю имя орг. и т.д. от фонаря, далее ставлю в каталог C:\КЕIL, после finish запускаю кейлиц 2, устанавливаю АРМ, v2, генерю лицензию и сериал, далее в tооls.ini во все секции после [] ставлю LIС0= и SN= полученные выше, далее запускаю UV3
и смотрю эбаут, в нем виден номер лицензии, но период до 201X года нет, призапуске деббагера ошибка ERR208. Все то же для карм15 прокатывает!!!
*



Делал несколько иначе. Сначала ставлю 2.32, лицензию и серийник прописываю только в секцию ARM. А затем поверх ставлю 2.40. Период в эбауте тоже не показывает, но работает исправно - никаких ошибок в деббагере нет.
Make_Pic
Цитата(VAI @ Sep 27 2005, 17:43)
2Make_Pic
Так у Вас получилось установить?
*

Да! Новая узкоглазая пилюля на местном ftp!
Efimov Dmitri
Цитата(Make_Pic @ Oct 7 2005, 17:01) *
Цитата(VAI @ Sep 27 2005, 17:43)
2Make_Pic
Так у Вас получилось установить?
*

Да! Новая узкоглазая пилюля на местном ftp!



Ребят, залейте, пожалуйста, новую узкоглазую для karm240 (karm241) на efimov-dm@yandex.ru

Благодарю.
VAI
Efimov Dmitri проверьте почту
Efimov Dmitri
Цитата(VAI @ Dec 13 2005, 11:12) *
Efimov Dmitri проверьте почту



Спасибо, VAI !
Lynxyk
офф

Подскажите плз, есть ли эмуляторы в ИАР и Кейл. С первого взгляда не нашёл.
Начал изучать АРМ(с авр пришёл), привык к протеусу(там даже ГИ был у эмулятора, хоть скоп вешай хоть клаву). Или здесь только внутрисхемная(покупать дорогое железо)?
Efimov Dmitri
Цитата(Lynxyk @ Dec 18 2005, 17:27) *
офф

Подскажите плз, есть ли эмуляторы в ИАР и Кейл. С первого взгляда не нашёл.
Начал изучать АРМ(с авр пришёл), привык к протеусу(там даже ГИ был у эмулятора, хоть скоп вешай хоть клаву). Или здесь только внутрисхемная(покупать дорогое железо)?


В Кейле есть отличный симулятор, он наглядно показывает состояние регистров переферии и, кроме этого, позволяет формировать функции для входных тестовых сигналов.

В Иаре чуть по другомоу: http://electronix.ru/forum/index.php?showtopic=4607

Нсчет "покупать железо" - желательно, и не обязательно дорогое: MT-LINK JTAG адаптер - аналог Segger J-Link, дружит с Иаром, а через RDI частично и с Кейлом (пройдись поиском).
SONEL
Цитата(Efimov Dmitri @ Dec 13 2005, 10:09) *
Цитата(Make_Pic @ Oct 7 2005, 17:01) *

Цитата(VAI @ Sep 27 2005, 17:43)
2Make_Pic
Так у Вас получилось установить?
*

Да! Новая узкоглазая пилюля на местном ftp!



Ребят, залейте, пожалуйста, новую узкоглазую для karm240 (karm241) на efimov-dm@yandex.ru

Благодарю.


и мне помогите с новой узкоглазой для карм240 на serguey_a@mail.ru
vesago
Я в общем то еще ни одного проекта на арме не написал, но с кейлом знаком по 51. Нет ему равных. IDE очень удобная. По качеству кода правда сравнить не могу. Самое главное симулятор человеческий. Многие придерживаются мнения, что самый лучьший симулятор - жтаг с железякой. Но не всегда железяка под рукой (дома допустим осенит - захочется проверить), да и зачем почем зря флэш насиловать. По поводу пилюль. Дома пробовал ставить карм - помогла толька китайская пилюля. На работе ставил для 51 8 кейл - скармливал лиц v2 через менеджер лицензий. Поверх поставил карм и тем же генеретором сгенерировал для арм и скормил. Без вопросов. Отсюда вывод: генератор лицензий определяет сид немного не так как кейл. Кабы автор предусмотрел ручной ввод сида, дружелюбно указываемый кейлом, вопросов не было бы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.