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

 
 
> 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
Ответов
defunct
сообщение May 29 2006, 14:10
Сообщение #2


кекс
******

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



bb-offtopic.gif

Цитата(_4afc_ @ May 29 2006, 15:54) *
Ну и вообще прерывания лучше на ассемблере писать, а то слишком много ресурсов съедает.

(Пример - обработка внешнего последовательного АЦП на си потребовала бы поставить Atmega48 на 80МГц, периписав код на асм с разделением регистров - уложился в 10 wink.gif

Не убедительно ;>
В таком случае лучше вообще все писать на асм..

Не вижу смысла писать на Си под чипы у которых меньше 16k Flash..
Не исключено, что программа которая у Вас выполняется на m48, будучи полностью переписана на asm (и с условием наличия требуемых пинов) с успехом разместилась бы в t13.

ps: Пример - IP стек на ассемблере, чудно влез в m48 вместе с программой решающей прикладную задачу и пакетным драйвером PHY/MAC контроллера, еще 2kb флеша осталось (при этом на 20Mhz помимо выполнения основной задачи и общения с сервером по TCP обеспечивается еще и стабильный отклик 1ms на несколько десятков потоков ping'a с пакетами (ICMP) по 256 байт). Для решения этой же задачи на Си потребовался бы ARM ;>
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Jun 2 2006, 09:45
Сообщение #3


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

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(defunct @ May 29 2006, 18:10) *
Цитата(_4afc_ @ May 29 2006, 15:54) *

Ну и вообще прерывания лучше на ассемблере писать, а то слишком много ресурсов съедает.

Не убедительно ;>
В таком случае лучше вообще все писать на асм..


Я так и сделал. Просто компилируется всё данным пакетом (WinAVR).
В прерываниях я имел в виду, что при входе там несколько регистров суются в стэк.
Я же выделил несколько регистров для прерываний и в одном из них хранил регистр флагов.
Это ускоряет начало работы вашего обработчика.

Больше всего мешает тормознутость самой A48 - посылки SPI выполняются с ощутимой задержкой.

По поводу printf и прочего - не знаю, я использую только синтаксис си, без использования каких-либо функций из поставок компилятора.

CVAVR- не удобен своим визардом, в частности в визарде делители для таймеров ограничены.
Кроме того для A128 генерился код, который не работал сразу (пара регистров не инитилась).

ImageCraft - очень близок к WinAVR, но я замучился ставить каждое действие в скобки и постоянно преобразовывать типы перенося рабочий проект из WinAVR в ImageCraft. Читаемость текста пропала абсолютно.
Цитата
Я WinAVR использую года 2 и за это время сложилось достаточно положительное впечатление, но не без причуд. Похоже на уровне оптимизации WinAVR "не знает" что регистры 8 разрядные (разработчики портировали с другой архитектуры без существенной переработки, это моё личное мнение)

полностью согласен, отсюда и страсть к перенисению всех данных в озу.
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
- - halfdoom   Цитата(Evgeny_CD @ Jul 29 2005, 13:47) И ...   May 18 2006, 09:40
|- - SasaVitebsk   Цитата(halfdoom @ May 18 2006, 12:40) Цит...   May 27 2006, 13:59
|- - halfdoom   Цитата(SasaVitebsk @ May 27 2006, 16:59) ...   Jun 2 2006, 06:51
- - 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
- - 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 Текстовая версия Сейчас: 23rd July 2025 - 19:25
Рейтинг@Mail.ru


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