|
Какую среду разработки Вы используете? |
|
|
|
Feb 1 2006, 21:33
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Давно мечтал услушать все "за" и "против", о популярных средах программирования для AVR uC. Всех сред разработки я знать не могу  поэтому если в списке Вы не нашли того с чем работаете, указывайте ее в сообщениях  Сам я использую в основном AVR-Studio в комбинации с gcc, из-за наиболее, на мой взляд, удобного отладчика, который отображает значения переменных/регистров в всплывающих подсказках прямо в тексте отлаживаемых модулей, а также из-за эмулятора, предоставляемого разработчиком uC, доверее к которому много выше чем к эмуляторам сторонних разработчиков. В IAR-е помоему отсутствует такая возможность, сколько не ковырялся в настройках так и не нашел где можно включить отображение значений переменных в режиме отладки, или я не прав? Хотя код сгенерированный IAR'ом и получается меньшего объема, но удобная отладка как для меня важнее..
Сообщение отредактировал defunct - Feb 1 2006, 21:56
|
|
|
|
|
 |
Ответов
|
May 24 2006, 13:51
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
2 DXP Все верно, однако... Не вижу я большой в этом беды. Например, если передавать в функцию больше 3 параметров... может стоит в в консерватории, что-то подправить? Ну да в *printf(), ну так сколько об этом говорено. С другой стороны ldd/std займет указатель - выигрыш во времени, проигрыш в регистрах. Вы уверены, что вам этот регистр в функции не понадобится? Все это небольшое преимущество (?) убьеться на корню просто наличием каких-то левых переменных, лишними вызвами функций итп. Чем мне нравиться gcc - не прощает небрежности, держит в тонусе, IAR же из-за своего ума позволяет расслабляться, что может стать источником трудноуловимых ошибок. Но это, как я уже говорил, дело вкуса.
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
May 25 2006, 04:33
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Цитата(beer_warrior @ May 24 2006, 20:51)  2 DXP Все верно, однако... Не вижу я большой в этом беды. А я не утверждаю, что в этом какая-то большая беда. Я лишь спорил с утверждением, что AVR-GCC генерит более компактный и быстрый код нежели IAR. Это совсем неверно, за IAR'ом приоритет. Надеюсь, Вы не спорите с этим тезисом? В свое время оценивал качество кодогенерации IAR, AVR-GCC и ImageCraft. На первом месте IAR, на втором AVR-GCC, на последнем оказался ImageCraft. Еще народ сравнивал с CodeVision, утверждают, что этот соответствет ImageCraft'у. Таким образом, из распространенных компиляторов для AVR по качеству кодогенерации AVR-GCC прочно удерживает второе место. Почетное второе место - некоммерческому проекту тут с IAR'ом тягаться сложно. Цитата(beer_warrior @ May 24 2006, 20:51)  Например, если передавать в функцию больше 3 параметров... может стоит в в консерватории, что-то подправить? Ну да в *printf(), ну так сколько об этом говорено. С другой стороны ldd/std займет указатель - выигрыш во времени, проигрыш в регистрах. Вы уверены, что вам этот регистр в функции не понадобится? Речь идет не только и не столько о передаче аргументов через стек, сколько об использовании локальных объектов внутри функции. Вот, например, объявлен внутри функции пяток переменных - пара интов, один флоат, мелкая структурка-враппер, которую возвращает одна из вызываемых функций и/или юнион. Регистров на это не хватит - они и так для работы нужны, поэтому разместится это в стеке. И тут нужна эффективная работа со стеком. В IAR'е все прозрачно - Y-pointer непосредственно все это адресует. В случае же avr-gcc компилятор будет производить ту самую подготовку стекового кадра (stack frame) - копирование в критической секции значения SP в Y, модификация SP, чтобы он указывал за пределы выделенного стекового кадра (чтобы было куда адреса возвратов складывать и оно не перемешалось с данными выделенного стекового кадра). Похожую операцию делает, например, комплитор для Blackfin'а, но у этого проца есть специальная инструкция подготовки стекового кадра - link N (где N - размер кадра), для нее есть парная инструкция unlink. А AVR-GCC эти вещи делает сам. Оверхед налицо. И порой не мелкий. Цитата(beer_warrior @ May 24 2006, 20:51)  Все это небольшое преимущество (?) убьеться на корню просто наличием каких-то левых переменных, лишними вызвами функций итп. Чем мне нравиться gcc - не прощает небрежности, держит в тонусе, IAR же из-за своего ума позволяет расслабляться, что может стать источником трудноуловимых ошибок. Но это, как я уже говорил, дело вкуса. Хороший и высококачественный инструмент - совсем не повод писать безобразный и горбатый код. Код всегда надо писать идеологически правильный, чтобы не было сюрпризов. И еще надо знать "повадки" компилятора, чтобы добиваться устойчивого по предсказуемости результата. Т.ч. тезис " gcc - не прощает небрежности, держит в тонусе, IAR же из-за своего ума позволяет расслабляться, что может стать источником трудноуловимых ошибок" мне не понятен. Если писать криво, с хаками, использовать код, приводящий к неопределенному поведению и т.д., то при любом компиляторе будет плохо. Если писать грамотно, с пониманием требований языка и особенностей реализации, то при любом компиляторе будет хорошо. Только с IAR'ом будет лучше, чем с AVR-GCC. Насколько лучше и кому это надо - это другой вопрос.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
Сообщений в этой теме
defunct Какую среду разработки Вы используете? Feb 1 2006, 21:33 haker_fox Использую IAR EWAVR 4.11A + AVRStudio: код, как вы... Feb 2 2006, 00:18 defunct Цитата(haker_fox @ Feb 2 2006, 02:18) Исп... Feb 2 2006, 04:44  haker_fox Цитата(defunct @ Feb 2 2006, 12:44) Цитат... Feb 2 2006, 05:00 Proton Счмтаю что нужно добавить IAR EWAVR + AVRStudio та... Feb 2 2006, 04:52 Георгий IAR EWAVR + AVRStudio Feb 2 2006, 05:29 dxp Проекты смешанные C++/Asm с подавляющей по объему ... Feb 2 2006, 07:17 BVU Однозначно IAR-EWAVR ( C ), но для полноты списка ... Feb 2 2006, 07:36 unichorn WinAVR + AVR-Studio + Cpp Builder Feb 2 2006, 07:41 muravei Использую Алгоритм билдер, устраивает симулятор. Feb 2 2006, 07:54 IgorKossak Поскольку использую IAR EWAVR + JTAG эмулятор, то ... Feb 2 2006, 08:08 defunct Цитата(IgorKossak @ Feb 2 2006, 10:08) По... Feb 2 2006, 09:21  IgorKossak Цитата(defunct @ Feb 2 2006, 11:21) ... в... Feb 2 2006, 09:30 Polaris Использую CodeVision + AVRStudio.
Да, есть глюки в... Feb 2 2006, 08:27 Rash Использую IAR EWAVR + JTAG mk2 эмулятор, а AVR Stu... Feb 2 2006, 08:32 ALexx Изначально пошел по пути CodeVision+VMLab, о чем е... Feb 2 2006, 13:10 MakSV Использую IAR EWAVR 4.11A + AVRStudio, удобно и на... Feb 2 2006, 15:02 zltigo Цитата(dxp @ Feb 2 2006, 09:17) В качеств... Feb 2 2006, 15:16 artStinger Для написания использую MED - programmer's tex... Feb 2 2006, 16:37 beer_warrior gcc адназначна.
1.полный тулчейн под avr msp arm w... Feb 2 2006, 17:49 Old1 Использую EWAVR 4.12 (evaluation) от IAR (компилят... Feb 3 2006, 08:29 defunct Цитата(Old1 @ Feb 3 2006, 10:29) Пример т... Feb 3 2006, 18:36  Old1 Цитата(defunct @ Feb 3 2006, 22:36) Цитат... Feb 4 2006, 13:24   dxp Цитата(Old1 @ Feb 4 2006, 19:24) Представ... Feb 6 2006, 11:04    Old1 Цитата(dxp @ Feb 6 2006, 14:04) Зачем это... Feb 6 2006, 18:14 sseett Начинал с AVR-Studio (atmel-avr-asm), но случайно... Feb 7 2006, 08:52 IgorKossak Цитата(sseett @ Feb 7 2006, 10:52) ... К... Feb 7 2006, 17:15 SasaVitebsk Цитата(haker_fox @ Feb 2 2006, 04:18) В п... Feb 7 2006, 22:55 vesago Цитата(SasaVitebsk @ Feb 8 2006, 01:55) Ц... Jul 24 2006, 07:05 NightCat Можно глупый вопрос?
Есть какие-то еще "ну оч... Feb 18 2006, 18:17 defunct Цитата(NightCat @ Feb 18 2006, 20:17) Ест... Feb 18 2006, 18:41 ArtemK После опробывания в качестве компилятора win-avr, ... Feb 20 2006, 07:05 гигипотамм Code Vision Feb 25 2006, 13:51 Proton zltigo
Это точно он([banned]). После того как две... May 23 2006, 15:12 Andy Great Crossworks from Rowley May 23 2006, 16:22 Сергей Борщ ИАР через JTAG, еслои JTAG нет - мигание светодиод... May 23 2006, 16:49 defunct Цитата(Сергей Борщ @ May 23 2006, 19:49) ... May 23 2006, 17:06  ilya514 Цитата(defunct @ May 23 2006, 20:06) Цита... May 23 2006, 17:16   defunct Цитата(ilya514 @ May 23 2006, 20:16) Прос... May 23 2006, 17:33    Сергей Борщ Цитата(defunct @ May 23 2006, 20:33) Цита... May 23 2006, 18:11    ilya514 [quote name='defunct' date='May 23 200... May 23 2006, 18:19  Сергей Борщ Цитата(defunct @ May 23 2006, 20:06) Цита... May 23 2006, 17:27 bodja74 А я AVR-Studio из за дизасемблера люблю,можно ... May 23 2006, 17:44 Proton ЦитатаA_Bolshev Дата Сегодня, 07:49
все тоже + ... May 24 2006, 03:57 BigBolt Опрос показывает, что наиболее популярными являютс... May 24 2006, 08:22 Serg79 О чем разговор!!!
Для сборки прошивки ... May 24 2006, 08:42 dxp Цитата(Serg79 @ May 24 2006, 15:42) IAR-E... May 24 2006, 09:50  Serg79 Цитата(dxp @ May 24 2006, 13:50) Цитата(S... May 24 2006, 11:00   Rst7 Цитата(Serg79 @ May 24 2006, 14:00) О чем... May 24 2006, 12:28    bodja74 Цитата(Rst7 @ May 24 2006, 15:28) Только ... May 24 2006, 12:51   _Bill Цитата(Serg79 @ May 24 2006, 14:00) А что... May 24 2006, 13:03   dxp Цитата(Serg79 @ May 24 2006, 18:00) О чем... May 24 2006, 13:23 VladimirZ В основном CrossWorks+Jtag, симуляторам предпочита... May 24 2006, 10:11 beer_warrior Тут как говориться дело вкуса и привычки. я наприм... May 24 2006, 12:38 _Bill Цитата(beer_warrior @ May 24 2006, 15:38)... May 24 2006, 12:44 defunct Цитата(beer_warrior @ May 24 2006, 16:51)... May 24 2006, 14:44 beer_warrior ЦитатаНа мой взгляд, единственное неоспоримое преи... May 24 2006, 16:12 beer_warrior ЦитатаЯ лишь спорил с утверждением, что AVR-GCC ге... May 25 2006, 05:53 dxp Цитата(beer_warrior @ May 25 2006, 12:53)... May 25 2006, 07:23  zltigo Цитата(dxp @ May 25 2006, 10:23) ...любой... May 25 2006, 08:07 Старый Бабай Пользую GCC в связке с AVRStudio May 25 2006, 12:48 beer_warrior quote]Совсем плохо. Вывод - работать, видимо, надо... May 25 2006, 13:57 dxp Цитата(beer_warrior @ May 25 2006, 20:57)... May 26 2006, 03:58 Nanobyte Большинство проектов выполнял на ASM, из плюсов - ... May 25 2006, 14:32 beer_warrior Цитата(SasaVitebsk @ May 25 2006, 21:41) *
А каки... May 25 2006, 21:07 beer_warrior Итак наш ответ Чемб... простите DXP
IAR и WinAVR у... May 25 2006, 21:55 beer_warrior Листинги May 25 2006, 23:49 733259 А вот что у меня получилосьЦитатаavr-gcc -g -Wall ... May 26 2006, 03:03 dxp Цитата(733259 @ May 26 2006, 10:03) А вот... May 26 2006, 04:23 733259 В avr-gcc 4.0.3 - 118 байт, выше был 3.4.6 May 26 2006, 05:46
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|