| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
IAR AVR
14.09.2009, 19:10
|
|
|
Частый гость
Регистрация: 06.06.2008
Сообщений: 43
Сказал спасибо: 90
Сказали Спасибо 126 раз(а) в 23 сообщении(ях)
|
Re: IAR AVR
Сообщение от alberio
|
|
Поставил вчера IAR 5.30 для авр. За день работы получил море удовольствия по сравнению с винавром - глядя на скомпиленый код
|
В чем конкретно удовольствие? Как-то потратил время на сравнение IAR и WinAVR.
Да есть преимущества в пользу IAR, но очень небольшие. И эти преимущества с лихвой перекрываются достоинствами WinAVR - бесплатность, огромное количество библиотек, доступная документация. Многие фирмы драйвера для своих устройств предоставляют в виде исходников для WinAVR. Недавно работал с сетевым контроллером W3150A от WIZnet, кстати устройство просто замечательное, так пришлось заниматься невеселой работой - портировать драйвера из WinAVR в CodeVision(очень нужно было). Так может я чего не вижу в IAR?
По поводу библиотек - по мере возможности обходиться без них. Из-за универсальности функций жрут много ресурсов - всегда, особенно дефицитную память. В простых случаях лучше написать собственную, пускай специализированную ф-цию. Пример - количество секунд преобразуется в строку вида - ЧЧ:ММ:СС и выводится на LCD:
void WrSec(int sec) {
int c1, c2, c3;
char BuffW[7];
if(sec › 0) {
// Преобразуем в символьный вид.
c1 = sec/3600; c2 = sec/60; c2 = c2%60; c3 = c2%10; c2 = c2/10;
if(c1 › 9) c1 = 9;
BuffW[0] = 0x30 + c1;
BuffW[1] = ':';
BuffW[2] = 0x30 + c2;
BuffW[3] = 0x30 + c3;
BuffW[4] = ':';
c1 = sec%60; c2 = c1%10; c1 = c1/10;
BuffW[5] = 0x30 + c1;
BuffW[6] = 0x30 + c2;
// Выводим на ЖКИ.
lcd_gotoxy(7, 1);
for(i = 0;i‹7;i++) lcd_putchar(ExCod(BuffW[i]));
}
|
|
|
|
14.09.2009, 19:37
|
|
|
Гражданин KAZUS.RUN
Регистрация: 08.07.2006
Сообщений: 582
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
|
Re: IAR AVR
Сообщение от kison
|
|
Этого мало - студия хочет весь проект. Соберите пример выше в три строки - массив, sprintf и что нибудь внутри while(1) - чтобы брейкпоинт поставить.
|
Не, этого достаточно, студия сама соэдает проэкт. Потом чето ищет - нажимаете отмена и вперед.
Сейчас, к ожалению проект не могу переслать, через пару часиков вернусь домой - обнародую.
|
Цитата:
|
|
В чем конкретно удовольствие?
|
Рассказываю. На винавре, не знаю как - кто, а я, извините, просто з***лся с оптимизатором. С оптимизацией вырезает иногда нужный код, и сиди потом дизассемблером ищи, че вырезало. Без оптимизации более-менее усложненная софтина перестает влазить в нужные рамки.
Винавр удобный и доступный. И камней в него не кидаю.
ИАР сложнее в настройках, меньше, как выяснилось, библиотек и описаний, но код компактнее (проверял), и тот (ВЕСЬ) который я написал - без потерь.
P.S. И еще мысль. Умные люди говорили, что сыр бесплатный известно где.
Винавр бесплатный - но потому во всяческий бесплатных паблик лицензиях сказано - хош юзай - хош не юзай, но коль юзаешь, то на свой страх и риск. Никаких гарантий.
ИАР же платный (хоть и кряканутый), а потому люди, который его КУПИЛИ (есть, наверное, такие  ) хотят быть уверенны в том, что заплатили за качество. И им это качество дают. Так вот...
__________________
Sex, Druggs, Rock&Roll
|
|
|
|
14.09.2009, 19:54
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
|
Re: IAR AVR
Сообщение от alberio
|
|
Не, этого достаточно, студия сама соэдает проэкт. Потом чето ищет - нажимаете отмена и вперед.
|
Ну да вперед - только без сишного листинга, чисто по ассемблеру. Переменную в watch добавить - ведь объявления ее нет. Это не отладка, а мучение.
Сообщение от alberio
|
|
На винавре, не знаю как - кто, а я, извините, просто з***лся с оптимизатором.
|
В ИАР при включенной оптимизации будет то же самое. Любой оптимизатор выкинет ненужные бессмысленные инструкции.
|
|
|
|
14.09.2009, 20:06
|
|
|
Частый гость
Регистрация: 02.07.2006
Сообщений: 34
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: IAR AVR
CVAVR при компиляции показывает размер прошивки,которая зальется в мк, например hex=12 кб, а прошивка=4кб. Как это узнать в IAR ?
|
|
|
|
14.09.2009, 20:12
|
|
|
Гражданин KAZUS.RUN
Регистрация: 08.07.2006
Сообщений: 582
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
|
Re: IAR AVR
Правая кнопка мыши на теле сообщений билдера, линкера,... -› опции -› Show build messages -› all , и тогда при окончании сборки будет выводится размер прошивки. Ну, если я правильно понял ваш вопрос...
__________________
Sex, Druggs, Rock&Roll
|
|
|
|
14.09.2009, 20:47
|
|
|
Прохожий
Регистрация: 19.06.2006
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: IAR AVR
Сообщение от alberio
|
|
Поставил вчера IAR 5.30 для авр. За день работы получил море удовольствия...
|
Выложи на Рапиду, тоже хочу удовольствия!
|
|
|
|
14.09.2009, 21:01
|
|
|
Гражданин KAZUS.RUN
Регистрация: 08.07.2006
Сообщений: 582
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
|
Re: IAR AVR
а торрентом не желаете? 
176 метров все-таки.
__________________
Sex, Druggs, Rock&Roll
|
|
|
|
14.09.2009, 21:04
|
|
|
Частый гость
Регистрация: 02.07.2006
Сообщений: 34
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: IAR AVR
alberio, спасибо, именно это и хотел(насчет размера прошивки).
|
|
|
|
14.09.2009, 22:54
|
|
|
Гражданин KAZUS.RUN
Регистрация: 08.07.2006
Сообщений: 582
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
|
Re: IAR AVR
Сообщение от VictorKVV
|
|
Выложи на Рапиду, тоже хочу удовольствия!
|
ewavr5302_full.rar.html
на Яндекс диске.
Проектик ниже
__________________
Sex, Druggs, Rock&Roll
|
|
|
|
Эти 2 пользователя(ей) сказали Спасибо alberio за это сообщение:
|
|
|
15.09.2009, 00:00
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,815
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: IAR AVR
Сообщение от alberio
|
|
хочу чтоб из (unsigned int) 1234 (unsigned char [4]) "1234"
|
Я портировал из асемблерного исходника от Микрочипа в Си ...
(Вот молодцы Микрочиповцы, наваяли для всех случаев асемблерные бибилитоечки!!!)
//преобразование bin 2 байта to bcd 3 байта(5знаков)
//IAR AVR = 1429 циклов / 62 word
//HiTECH PICC = 1115 циклов / 61 word
//преобразование bin 3 байт to dec 4 байт(8знаков)
//IAR AVR = 2821 циклов / 61 word
//HiTECH PICC = 2193 циклов / 68 word
//преобразование bin 4 байта to bcd 5 байт(10знаков)
//IAR AVR = 4641 циклов / 78 word
//HiTECH PICC = 3568 циклов / 81 word
//преобразование bin 8 байт to bcd 10 байт(20знаков)
//IAR AVR = 17424 циклов / 129 word
//HiTECH PICC = 13839 циклов / 136 word
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:16.
|
|