| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
IAR AVR
15.09.2009, 17:47
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: IAR AVR
Сообщение от oleg110592
|
volatile может в ИАРе и не надо:
44 bytes of CODE memory (+ 136 range fill )
64 bytes of DATA memory
|
Ну да, не надо  . Уберите вообще объявление плавучих переменных и саму функцию CalcC - получите свои 136 байт. Выходит плавучее умножение занимает 0 байт и выполняется за 0 тактов?
Кстати как раз размер меня тут практически не интересует. Он растет не так и сильно. А вот время выполнения арифметики важнее, тут кристалл пожирнее не возьмешь. А Вы время не привели... 
Однако на количество смайлов ограничение [тут типа улыбка]
Последний раз редактировалось kison; 15.09.2009 в 17:57.
|
|
|
|
15.09.2009, 18:10
|
|
|
Гражданин KAZUS.RUN
Регистрация: 05.04.2009
Сообщений: 973
Сказал спасибо: 35
Сказали Спасибо 154 раз(а) в 133 сообщении(ях)
|
Re: IAR AVR
|
|
|
|
15.09.2009, 18:24
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: IAR AVR
Сообщение от oleg110592
|
У меня достаточно проектов на ИАРе и там ни одного volatile. Но устройства работают и продаются давно (первый мой ИАР 4.11 2005г). Я не спец по Си (использую малую часть возможностей) но volatile, всегда думал, нужен скорее для переменных, которые используются в прерываниях.
volatile - лучший друг программиста работающего с потоками -
|
У меня как минимум одна переменная в каждом проекте объявляется с этим квалификатором. Именно потому, что я использую прерывания, а это отдельный поток. Ну и что бы сообщить основному потоку о событии из прерывания и требуются такого типа переменные.
А в данном случае ( тест) без этого квалификатора компилятор просто бы перемножил две переменных еще на этапе компиляции. Для того чтобы не дать ему стать читером и пришлось ввести volatile. Кстати GCC вел себя так же - заоптимизировал в 0. Но volatile и ему вправил мозг.
|
|
|
|
15.09.2009, 18:40
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 107 раз(а) в 66 сообщении(ях)
|
Re: IAR AVR
Сообщение от oleg110592
|
|
У меня достаточно проектов на ИАРе и там ни одного volatile.
|
действительно прикольно.
(С) В толпе раздался смех - Остап оценил шутку
...
|
|
|
|
15.09.2009, 18:47
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: IAR AVR
Вот странно - 15 человек в опросе призналось в использовании этого компилятора. Но почему то ни один не отписывается - почему он сделал такой выбор. И чем его не устроил GCC. Про то, у кого он на законных основаниях спрашивать не будем. Видимо только у меня  Правда ненадолго...
|
|
|
|
15.09.2009, 18:49
|
|
|
Гражданин KAZUS.RUN
Регистрация: 05.04.2009
Сообщений: 973
Сказал спасибо: 35
Сказали Спасибо 154 раз(а) в 133 сообщении(ях)
|
Re: IAR AVR
Попробую в следующем проекте GCC . Скажите, WinAVR 2009 можно пользоваться или 2006 надежнее, или сборки Клена с Электроникса?
|
|
|
|
15.09.2009, 18:54
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: IAR AVR
Я использую WinAVR-20071221. Обновляться пока не тянет. Крайние сборки брать - стать бетатестером.  Сборки "от клена" это самый пик бетатестерства - он собирает "по горячему", только патчи какие вышли, так и собрал. Хорошо это или плохо - как повезет.
|
|
|
|
15.09.2009, 20:23
|
|
|
Гражданин KAZUS.RUN
Регистрация: 08.07.2006
Сообщений: 582
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
|
Re: IAR AVR
Сообщение от kison
|
Вот странно - 15 человек в опросе призналось в использовании этого компилятора. Но почему то ни один не отписывается - почему он сделал такой выбор. И чем его не устроил GCC. Про то, у кого он на законных основаниях спрашивать не будем. Видимо только у меня Правда ненадолго...
|
Не, ну народ, действительно! Юзеры иара, отмечались же на голосовании, так встаньте на защиту... Ну или, признайте, что хуже иар.
2 kison На счет приведеных вами чисел согласен - для дебага. А соберите-ка релиз! Думаю цифры серъезно поменяются...
__________________
Sex, Druggs, Rock&Roll
|
|
|
|
15.09.2009, 21:35
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: IAR AVR
Сообщение от alberio
|
|
А соберите-ка релиз!
|
А как Вы думаете в чем отличие между релизом и дебагом? Я то соберу без проблем, но заранее уверен что кроме неудобства в расчете тактов больше ничего не измениться. Ни на такт быстрее не будет. У ГЦЦ релиз и дебаг собираются одновременно. Точнее собирается дебаг, а затем отбрасывается вся отладочная информация ( метки, привязка к исходнику и т.п.) и из дебага извлекается ... релиз. Было бы удивительно, если бы что то менялось - я отладился, рассчитал такты, собрал релиз и.. нихрена не работает, код поменялся! Зачем тогда вообще нужен дебаг?
Сообщение от alberio
|
|
или, признайте, что хуже иар
|
Уже пора  Видимо счетчик накрутился сам, а ИАР никто не использует. Хотя, если честно, не так важен инструмент, как степень владения оным. Я вполне допускаю что допустил при тестах ИАР какую то ошибку. Все же это не мой инструмент "на каждый день". Вот в тестах GCC я уверен, и уверен в полученных цифрах. С ИАР меня можно и переубедить. Но не словами, а тактами.
|
|
|
|
15.09.2009, 23:58
|
|
|
Гражданин KAZUS.RUN
Регистрация: 08.07.2006
Сообщений: 582
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
|
Re: IAR AVR
Не могу ничем ответить, кроме опечаленой мины лица 
Я покрутил оптимизацию. По размеру обыгрывает гцц, по тактам - никак 
Но вернусь к причине, заставившей меня искать альтернативу винавру - его оптимизатор. Не раз я подымал вопрос, как с ним "бороться". Сетовал на его "негибкость" (даже сравнить с оптимизатором иаровским), на невозможность отключить оптимизацию для отдельного файла или куска кода.
На этот вопро я получал практически всегда один и тот же ответ - все дело в кривых ручонках, которые код пишут. Сложно спорить, ведь скорее всего это так, и надо просто набить руку и подружится с оптимизатором. Но пока я не готов после каждой сборки глядеть в дизассемблер, не вырезал ли чего нужного оптимизатор. А ведь не все его глюки состоят в "вырезке". Лучше пожертвую быстродействием. Пока, на данном этапе будть юзать ИАР.
Ну, вот, теперь бросайте в меня камни
__________________
Sex, Druggs, Rock&Roll
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:48.
|
|