реклама на сайте
подробности

 
 
> WINAvr или IAR?, для тех, кто работал в обеих средах.
Karl
сообщение Aug 18 2005, 09:19
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 179
Регистрация: 4-02-05
Пользователь №: 2 429



Программирую в WinAvr. Собираюсь попробовать написать новый проект на IAR. В связи с этим вопрос: стоит ли тратить время и силы на освоение IAR? Кто какие плюсы и минусы видит в той или иной среде?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
halfdoom
сообщение Aug 19 2005, 04:42
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 003
Регистрация: 20-01-05
Пользователь №: 2 072



С точки зрения качества генерируемого кода IAR безусловно опережает gcc. Буквально неделю назад собрал проект под gcc и iar: gcc 3.4.1 нагенерил 18096, а iar 2.28a 12238 байт. У обоих включена оптимизация по скорости с максимальным уровнем оптимизации. Интересно, что для некоторых функций gcc порождает более компактный код. На практике удобно пользоваться обоими компиляторами, т.к. gcc выявляет большее количество потенциальных ошибок на стадии компиляции. Конечно, это требует написания макросов для поддержки совместимости, что не всегда может быть оправдано.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Aug 29 2005, 12:50
Сообщение #3


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(halfdoom @ Aug 19 2005, 07:42)
С точки зрения качества генерируемого кода IAR безусловно опережает gcc.  Буквально неделю назад собрал проект под gcc и iar: gcc 3.4.1 нагенерил 18096, а iar 2.28a  12238 байт. У обоих включена оптимизация по скорости с максимальным уровнем оптимизации.
*

GCC при -O3 (максимальная по скорости) инлайнит от себя всё, что считает нужным. Но если функция не была объявлена на уровне файла static (а, как показывают мои наблюдения, всё-таки мало кто ставит static пере функциями, которые вызываются только в данном файле), то её "основное" тело остаётся заодно с инлайновоё инкарнацией, что сильно раздувает код.
Кроме того, при -O3 автоматически включается -funroll-all-loops, что тоже сильно раздувает код.

Как правило, достаточно -O2, возможно с некоторыми доп ключами и ручное static inline для нужных коротких функций. В этом случае разница в объёме не в полтора раза, а 5-15%.

Два основных источника:
- прологи/эпилоги функций, gcc использует один стек и ему надо модифицировать каждый раз SPH,SPL, да ещё и с запретом прерываний.
- gcc как правило обращается к глобальным переменным через sts/lds, тогда как зачастую выгоднее по коду загрузить указатель и ldd/std, IAR этого не упускает.

А вот на коротких функциях с малым числом аргументов/локальных переменных (без стекового кадра) gcc действительно зачастую даёт более короткий и быстрый код.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
m16
сообщение Aug 29 2005, 13:17
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 242
Регистрация: 27-01-05
Пользователь №: 2 225



Давно избитая тема но сравнение компиляторов всегда почему то однобокое - раз меньший объем кода генерит знач лучший. А если вопрос по другому поставить - чей код быстрее?(меньший по объему код совсем не значит что более быстрый).
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Aug 29 2005, 14:46
Сообщение #5


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(m16 @ Aug 29 2005, 16:17)
Давно  избитая  тема но  сравнение  компиляторов  всегда почему то  однобокое - раз меньший  объем кода  генерит знач лучший. А если вопрос  по  другому  поставить  - чей  код быстрее?(меньший по объему код совсем не  значит что более быстрый).
*

Это Вы однобоко читаете форум.
Зачастую два параметра: скорость и компактность присутствуют в сравнениях на одном уровне.
Go to the top of the page
 
+Quote Post
AVR
сообщение Oct 26 2005, 20:34
Сообщение #6


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата
IAR понравился сразу (ибо есть большой опыт работы под Visual Studio). Начал и погряз в рутине. Может быть плохо искал, но не нашел библиотек для работы с LCD на HD44780 и периферией на i2c.

Существуют ли готовые библиотеки функций для работы с LCD на HD44780 в среде IAR версии 4.11А?


--------------------
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Oct 27 2005, 06:26
Сообщение #7


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(AVR @ Oct 26 2005, 23:34)
Существуют ли готовые библиотеки функций для работы с LCD на HD44780 в среде IAR версии 4.11А?
*

А причём тут IAR?
Ищите просто библиотеки на C. Например на том же AVRFreaks или здесь на форуме.
Массу полезных ссылок можно найти.
Go to the top of the page
 
+Quote Post
AVR
сообщение Oct 27 2005, 20:18
Сообщение #8


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(IgorKossak @ Oct 27 2005, 10:26)
Цитата(AVR @ Oct 26 2005, 23:34)
Существуют ли готовые библиотеки функций для работы с LCD на HD44780 в среде IAR версии 4.11А?
*

А причём тут IAR?
Ищите просто библиотеки на C. Например на том же AVRFreaks или здесь на форуме.
Массу полезных ссылок можно найти.
*


Есть ли программные эмуляторы HD44780 для IAR или AVRStudio?
Нужен такой плагин, т.к. у меня нет возможности проверить вывод на lcd на реальном железе.


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Karl   WINAvr или IAR?   Aug 18 2005, 09:19
- - IgorKossak   Это не столько трата времени, сколько полезное осв...   Aug 18 2005, 12:36
|- - Karl   Попробую написать следующий проект на IAR. Всвязи ...   Aug 19 2005, 08:24
|- - lazycamel   Цитата(AVR @ Oct 27 2005, 23:18)Есть ли прогр...   Oct 28 2005, 04:21
|- - m16   Цитата(AVR @ Oct 27 2005, 23:18)Есть ли прогр...   Oct 28 2005, 07:50
- - VladislavS   Качать однозначно последнюю с сайта разработчика. ...   Aug 19 2005, 08:48
|- - Karl   Последняя версия - EWAVR 4.10B?   Aug 19 2005, 09:22
|- - Igor26   Цитата(Karl @ Aug 19 2005, 12:22)Последняя ве...   Aug 19 2005, 09:33
|- - Igor26   Цитата(Igor26 @ Aug 19 2005, 12:33)Цитата(Kar...   Aug 19 2005, 09:41
|- - Karl   Цитата(Igor26 @ Aug 19 2005, 14:41)Цитата(Igo...   Aug 19 2005, 10:01
|- - Igor26   Цитата(Karl @ Aug 19 2005, 13:01)Цитата(Igor2...   Aug 19 2005, 10:05
|- - Karl   А где бы раздобыть примерчики проектов под IAR?   Aug 22 2005, 05:28
|- - BVU   Цитата(Karl @ Aug 22 2005, 09:28)А где бы раз...   Aug 22 2005, 05:49
|- - Karl   Спасибо, tutorials.eww нашел. Изучаю   Aug 22 2005, 06:18
|- - Karl   Что-то я библиотек стандартных функций в ИАР найти...   Aug 22 2005, 08:46
|- - BVU   Цитата(Karl @ Aug 22 2005, 12:46)Что-то я биб...   Aug 22 2005, 08:56
|- - Karl   не стандартные, но очень удобные при разработке .   Aug 22 2005, 08:59
|- - BVU   Цитата(Karl @ Aug 22 2005, 12:59)не стандартн...   Aug 22 2005, 09:43
- - axis   Доброго времени, Все. Что характерно - буржуи с a...   Aug 22 2005, 12:58
|- - dxp   Цитата(axis @ Aug 22 2005, 18:58)Что характер...   Aug 22 2005, 13:34
|- - axis   Цитата(dxp @ Aug 22 2005, 19:34)Цитата(axis ...   Aug 23 2005, 11:26
- - IgorKossak   Что касается буржуйских форумов, то надо знать их ...   Aug 23 2005, 08:32
- - beer_warrior   Серьезным преимуществом IAR IMHO являеться более у...   Oct 27 2005, 08:15
|- - dxp   Цитата(beer_warrior @ Oct 27 2005, 14:15)Серь...   Oct 27 2005, 09:41
|- - IgorKossak   Цитата(beer_warrior @ Oct 27 2005, 11:15)... ...   Oct 27 2005, 10:12
- - ROC   Кто тут "С"шные библиотеки искал? Есть ...   Oct 28 2005, 08:08
|- - AVR   Большое спасибо за эти ценные ссылки.   Oct 28 2005, 17:41
- - _artem_   RE: WINAvr или IAR?   Oct 29 2005, 04:18
- - INT1   тоже добавлю http://www.procyonengineering.com/   Oct 29 2005, 05:39
|- - AVR   Цитата(INT1 @ Oct 29 2005, 09:39)тоже добавлю...   Oct 29 2005, 10:32
- - INT1   Но вопос ведь темы WINAvr или IAR? или уже ИАР?   Oct 29 2005, 17:59
- - Waso   Спасибо за http://ccrma.stanford.edu/courses/250a...   Dec 17 2005, 20:09


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 02:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01649 секунд с 7
ELECTRONIX ©2004-2016