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

 
 
> WinAVR - как оно?, Эффективность компилятора
Evgeny_CD
сообщение Jul 29 2005, 10:47
Сообщение #1


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Задумал я тут тулзы унифицировать окончательно. И понял, что альтернативы GNU / GCC нет - ибо, например, покупку IAR, считаю бессмысленной. Я просто понял, что оптимизация кода головой программера (и инвестирование денег в этого программера, и стимулирование оного (сделал хорошо - получи премию), разумеется, вздрачивание - куда же без него) дает больший эффект, чем выигрыш самого лучшего компилятора.

Что касается среды - http://www.eclipse.org/ ок.

С Армами все понятно. Там GCC рулит. Сами проверяли, инфы есть много на эту тему.

Но вот для AVR (иногда надо делать "контроллеры светодиодов" за 1.5$) никогда не пробовал subj. Каково мнение народа?

http://winavr.sourceforge.net/
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
halfdoom
сообщение May 18 2006, 09:40
Сообщение #2


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

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



Цитата(Evgeny_CD @ Jul 29 2005, 13:47) *
И понял, что альтернативы GNU / GCC нет - ибо, например, покупку IAR, считаю бессмысленной.Но вот для AVR (иногда надо делать "контроллеры светодиодов" за 1.5$) никогда не пробовал subj. Каково мнение народа?

Тут все просто - если памяти программ в избытке, и можно поступиться быстродействием, то GCC это
хороший выбор. ИАР выигрывает у GCC по всяким мелким оптимизациям (исключение лиших загрузок
регистров, использование X и Z регистров для доступа к памяти даже без явного описания указателей
в программе) и наличием cross-call оптимизации.

В в свое время написал довольно объемный набор макросов который нивелирует различия в синтаксисе
обоих компиляторов и с тех пор использую оба в зависимости от требований и наличия внешних
библиотек (которые править не желательно).

BTW, я также отказался от использования make и перешел на jam. С использванием средств jam'a можно писать
такие вещи:
Код
rule target_gcc161 {
    tool_gcc;

    MCU_FULL =    atmega161;
    MCU_PROGR =    Mega161;
    MCU_SHORT =    m161;

    CCOPT_TYPE    = speed;
    CCOPT_LEVEL    = 2;
....
}

rule target_iar161 {
    tool_iar;

    MCU_FULL =    AT90Mega161;
    MCU_PROGR =    Mega161;
    MCU_SHORT =    m161;

    CCOPT_TYPE    = speed;
    CCOPT_LEVEL    = 9;

    CCFLAGS += --do_cross_call  --cross_call_passes=5;
}

А затем просто указывать "jam iar161" или "jam gcc161".
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение May 27 2006, 13:59
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(halfdoom @ May 18 2006, 12:40) *
Цитата(Evgeny_CD @ Jul 29 2005, 13:47) *

И понял, что альтернативы GNU / GCC нет - ибо, например, покупку IAR, считаю бессмысленной.Но вот для AVR (иногда надо делать "контроллеры светодиодов" за 1.5$) никогда не пробовал subj. Каково мнение народа?

Тут все просто - если памяти программ в избытке, и можно поступиться быстродействием, то GCC это
хороший выбор. ИАР выигрывает у GCC по всяким мелким оптимизациям (исключение лиших загрузок
регистров, использование X и Z регистров для доступа к памяти даже без явного описания указателей
в программе) и наличием cross-call оптимизации.

В в свое время написал довольно объемный набор макросов который нивелирует различия в синтаксисе
обоих компиляторов и с тех пор использую оба в зависимости от требований и наличия внешних
библиотек (которые править не желательно).

BTW, я также отказался от использования make и перешел на jam. С использванием средств jam'a можно писать
такие вещи:
Код
rule target_gcc161 {
    tool_gcc;

    MCU_FULL =    atmega161;
    MCU_PROGR =    Mega161;
    MCU_SHORT =    m161;

    CCOPT_TYPE    = speed;
    CCOPT_LEVEL    = 2;
....
}

rule target_iar161 {
    tool_iar;

    MCU_FULL =    AT90Mega161;
    MCU_PROGR =    Mega161;
    MCU_SHORT =    m161;

    CCOPT_TYPE    = speed;
    CCOPT_LEVEL    = 9;

    CCFLAGS += --do_cross_call  --cross_call_passes=5;
}

А затем просто указывать "jam iar161" или "jam gcc161".


Вот бы поделился! smile.gif
Я думаю масса людей было бы Вам благодарна.
Я пока не нахожу в себе сил такую работу проделать. smile.gif
Ну и описаний не достаточно. Как-то они разбросаны и беспорядочны.
Go to the top of the page
 
+Quote Post
halfdoom
сообщение Jun 2 2006, 06:51
Сообщение #4


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

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



Цитата(SasaVitebsk @ May 27 2006, 16:59) *
Вот бы поделился! smile.gif
Я думаю масса людей было бы Вам благодарна.
Я пока не нахожу в себе сил такую работу проделать. smile.gif
Ну и описаний не достаточно. Как-то они разбросаны и беспорядочны.

В принципе можно, немного причесать только. Скоро не обещаю, но попробую.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Evgeny_CD   WinAVR - как оно?   Jul 29 2005, 10:47
- - pulsar-17   Мнение хорошее. Компилятор делает хороший код, но ...   Jul 29 2005, 13:56
- - ReAl   Цитата(Evgeny_CD @ Jul 29 2005, 13:47)Задумал...   Jul 29 2005, 19:54
- - impatt   avr-gcc штука классная, причём не надо тырить у IA...   Aug 16 2005, 07:51
- - sensor_ua   Вот пробую под eclipse AVR-GCC4.0.2 сборки klen.or...   Jan 11 2006, 09:38
- - misyachniy   impatt В GCC есть SIGNAL () и INTERRUPT(). Разниц...   Jan 13 2006, 15:12
|- - impatt   Цитата(misyachniy @ Jan 13 2006, 18:12) i...   May 17 2006, 05:02
- - m16   Цитата([banned] @ May 17 2006, 10...   May 17 2006, 06:31
- - beer_warrior   Пользуюсь с 2003 года.Жалоб нет. Надо немножко при...   May 17 2006, 14:55
- - Laksus   Цитатаmisyachniy Jan 13 2006, 18:12 impatt В GCC е...   May 26 2006, 22:52
|- - msn   Пользуюсь больше 4-х лет. Особых замечаний не было...   May 26 2006, 23:10
|- - msn   Пользуюсь больше 4-х лет. Особых замечаний не было...   May 26 2006, 23:10
|- - aesok   Цитата(msn @ May 27 2006, 02:10) .... до ...   May 27 2006, 18:33
- - SpiritDance   А собственнно в чем вопрос у автора, если альтерна...   May 27 2006, 15:14
- - klen   Вставлю вой пятачек с двумя дырачками как выразил...   May 27 2006, 17:29
- - _4afc_   Я тоже пользуюсь только им, но раньше ( а скорее в...   May 29 2006, 12:54
|- - msn   Цитата(_4afc_ @ May 29 2006, 15:54) Я тож...   May 29 2006, 13:51
- - beer_warrior   ЦитатаПричём в принципе заставить хранить там данн...   May 29 2006, 13:52
- - defunct   Цитата(_4afc_ @ May 29 2006, 15:54) Ну и ...   May 29 2006, 14:10
|- - _4afc_   Цитата(defunct @ May 29 2006, 18:10) Цита...   Jun 2 2006, 09:45
- - beer_warrior   ЦитатаСкорее всего это произошло из за того, что в...   May 29 2006, 14:42
- - sff   Я WinAVR использую года 2 и за это время сложилось...   May 29 2006, 15:22
- - pitt   "Но вот для AVR (иногда надо делать "кон...   Jun 2 2006, 00:22
- - GetSmart   Неужто лучше ImageCraft ?   Jun 2 2006, 00:51
|- - klen   Цитата(GetSmart @ Jun 2 2006, 04:51) Неуж...   Jun 2 2006, 05:38
- - pitt   Самый сер'езный нрдостаток AVRGCC, с моей точк...   Jun 2 2006, 10:53
- - beer_warrior   Цитатаотсутствие прагмы управления оптимизацией. А...   Jun 2 2006, 12:10
|- - pitt   Цитата(beer_warrior @ Jun 2 2006, 08:10) ...   Jun 2 2006, 12:54
- - WHALE   Цитата(_4afc_ @ Jun 2 2006, 13:45) Больше...   Jun 2 2006, 12:32
- - beer_warrior   ЦитатаТеперь представем себе, что она нам необходи...   Jun 2 2006, 13:07
|- - pitt   Цитата(beer_warrior @ Jun 2 2006, 09:07) ...   Jun 2 2006, 13:59
- - pitt   avrfreaks   Jun 2 2006, 16:56
- - Igor_U   Помогите разобраться. Не собирается проект. Линков...   Jun 8 2006, 07:11


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 20:37
Рейтинг@Mail.ru


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