Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: WinAVR или CodeVision ?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
manul78
Уважаемые коллеги.

Вот у меня совсем не праздный вопрос: Велика-ли разница между WinAVR и CodeVision ?
Сам я лично, кроме WinAVR+AVRStudio почти не на чем не работал. Привык, что-ли ? Вот недавно поставил
CV , "поигрался", вроде ничего. Но писать не писал пока... Понравился Wizard для "быстрых" и т.д.
Поэтому интересуюсь, вашим мнением... Кто на чем работает, и из каких соображений ?
Спрашиваю потому, что для меня переходить с одной среды на другую, не сколько "геморой", а не люблю
путаницу... Предпочитаю работать в чем, то одном.
aaarrr
Почитайте, что Вас ждет. Поиск для того и придуман.
Goodefine
Цитата(aaarrr @ Jun 28 2009, 14:08) *
Почитайте, что Вас ждет. Поиск для того и придуман.

Ага, только никто из "знатоков" CAVR не посоветовал включить взад, стоящую по умолчанию галку "promote char to int"...
SSerge
Цитата(Goodefine @ Jun 28 2009, 17:42) *
Ага, только никто из "знатоков" CAVR не посоветовал включить взад, стоящую по умолчанию галку "promote char to int"...

Знатоков CAVR вообще мало. Видимо те, кто со временем мог бы им стать быстро переходят на что-то другое.
Тем не менее уже в сообщении #5 была цитата из документации про эту самую галку.
_Pasha
Что мы все о мелком да о мелком?
Главное - у кодвижна много рюшечек, далеких от мейнстрима. Они очень привлекательны, но если на них присесть - можно забыть о других процах кроме АВР
Serj78
CV позволит быстро начать работу, и сделает мyогие вещи за вас.. но!
надо очень четко понимать КАК эти вещи работают, и понимать их ограничения и "компиляторозависимость" получаемого кода.
Если разберетесь- то хорошо. Если вы привыкли к winavr- то копируйте куски из визарда СV smile.gif

По поводу приведения типов- указанная галка позволяет работать быстрее, но надо "вручную" следить за типами.
manul78
Цитата(Serj78 @ Jun 28 2009, 22:16) *
...Если разберетесь- то хорошо. Если вы привыкли к winavr- то копируйте куски из визарда СV smile.gif


Вот, вот, я с ним (CV) сегодня весь день "поигрался" и пришел к такому-же выводу...
haker_fox
Цитата(manul78 @ Jun 28 2009, 18:31) *
Уважаемые коллеги.
Вот у меня совсем не праздный вопрос: Велика-ли разница между WinAVR и CodeVision ?

Велика! В названии, в качестве генерируемого кода, в поддержке стандарта и тд и тп. А главное (ИМХО) при хорошем качестве генерируемого кода WinAVR построен на базе GCC. Из этого следует, что он кроссплатформенный. Т.е. однажды освоившись с ним на одной из платформ (IBM PC, AVR, ARM...), Вы сможете использовать его и для другой с меньшими усилиями.
Цитата(manul78 @ Jun 28 2009, 18:31) *
Понравился Wizard для "быстрых" и т.д.

Очень это странно на фоне Вашего же высказывания
Цитата(manul78 @ Jun 28 2009, 18:31) *
Сам я лично, кроме WinAVR+AVRStudio почти не на чем не работал. Привык, что-ли ?


Цитата(manul78 @ Jun 28 2009, 18:31) *
Спрашиваю потому, что для меня переходить с одной среды на другую, не сколько "геморой", а не люблю
путаницу... Предпочитаю работать в чем, то одном.

В данном случае точно не рекомендую заниматься освоением CV. Зачем Вам нужен этот "визард"? Не так сложно конфигурировать периферию самостоятельно. В общем достоинств я не вижу...(
alexashko
лучше на Codevision - просто, удобно и со вкусом wink.gif
для юнихоидов - конечно же гцц (он же winavr)
mempfis_
Начинал осваивать AVR в CVAVR. Генератор начального кода хорош (до сих пор им пользуюсь) но на работе пришлось освоить IAR. Со временем решил перенести старый институтсткий проект из CVAVR в IAR. Долго матерился выискивая в проекте места типа PORTn.m=0 и заменяя их нормальным для С выражениями PORTn &= ~(1<<m). Жалею что сразу не начал с IAR.
MrYuran
Цитата(mempfis_ @ Jun 29 2009, 12:54) *
Жалею что сразу не начал с IAR.

Я начинал в ИАРе, потом перешёл на GCC. (mspgcc)
Ни разу не жалею, поскольку для нормальной работы нужно владеть инструментом, а не просто ставить галочки и давить кнопочки с картинками, не представляя что они означают физически.
А всякие фенечки и рющечки типа port1.out.bit3 = 1 легко реализовать средствами стандартного си, зная при этом, откуда ноги растут
WinAVR, кстати, на порядок лучше документирован, чем mspgcc.
Практически на уровне ИАра.
_Pasha
Цитата(mempfis_ @ Jun 29 2009, 11:54) *
Долго матерился выискивая в проекте места типа PORTn.m=0 и заменяя их нормальным для С выражениями PORTn &= ~(1<<m).

Пардон за оффтоп, некрочип Си тоже подобной "фичей" страдает. Как вспомню - даже собирались скидываться покупать Legal за 800 баксов. Несчастные... хорошо что вовремя одумались. crying.gif
Corvus
AtmanAVR - GCC + генератор кода. Вот только платный... rolleyes.gif
haker_fox
Цитата(Corvus @ Jun 29 2009, 20:00) *
AtmanAVR - GCC + генератор кода. Вот только платный... rolleyes.gif

Деньги берутся за неумение читать даташиты и/или лень...
MrYuran
Цитата(haker_fox @ Jun 29 2009, 15:50) *
Деньги берутся за неумение читать даташиты и/или лень...

Время = Деньги.
Экономишь деньги - тратишь время.
Платишь деньги - покупаешь чужое время (или экономишь своё)
Весь вопрос - в соотношении стоимости продукта и личного времени
manul78
Еще раз соглашусь с вами в пользу WinAVR.

CV можно использовать как "памятку", т.е. в Визарде описывем девайс и используемую перефирию,
печатаем и кладем рядом как алгоритм... ну а пишем на WinAVR... biggrin.gif
Proton
Рекомендую использовать IAR, он является одним из лучших по качеству компиляции кода, поддерживает С++, является кроссплатформенным(очень пригодиться), имеет встроенный отладчик. Возможно его IDE покажется для написания кода не очень удобным, но это же компилятор, а для написания кода лучше использовать специализированные редакторы(SlickEdit или SourceInsight). Также приходилось работать с GСС(WinAVR), из неудобств могу отметить, несколько худшую оптимизацию, отсутствие поддержки С++, невменяемые отладчики под другие платформы.
_Pasha
Цитата(Proton @ Jun 29 2009, 19:19) *
Также приходилось работать с GСС(WinAVR), из неудобств могу отметить, несколько худшую оптимизацию, отсутствие поддержки С++, невменяемые отладчики под другие платформы.


Да ну!? biggrin.gif
haker_fox
Цитата(MrYuran @ Jun 29 2009, 20:58) *
Весь вопрос - в соотношении стоимости продукта и личного времени

Гм! Относительно настройки периферии МК - стрельба из пушки по воробьям. Не так сложна она в настройке.

Цитата(Proton @ Jun 30 2009, 01:19) *
Рекомендую использовать IAR, он является одним из лучших по качеству компиляции кода

При этом ему не так много уступает бесплатный GCC.
Цитата(Proton @ Jun 30 2009, 01:19) *
поддерживает С++, является кроссплатформенным(очень пригодиться), имеет встроенный отладчик.

Все три пункта применимы и к avr gcc.
Цитата(Proton @ Jun 30 2009, 01:19) *
Возможно его IDE покажется для написания кода не очень удобным, но это же компилятор, а для написания кода лучше использовать специализированные редакторы(SlickEdit или SourceInsight).

Да! Сам использую CodeBlocks. не все в нем безупречно, но мне нравится и хватает.
Цитата(Proton @ Jun 30 2009, 01:19) *
несколько худшую оптимизацию

Да.
Цитата(Proton @ Jun 30 2009, 01:19) *
отсутствие поддержки С++

Это неверно! Там есть C++.
Цитата(Proton @ Jun 30 2009, 01:19) *
невменяемые отладчики под другие платформы.

Ничего не могу сказать по этому поводу...
MrYuran
Цитата(Proton @ Jun 29 2009, 20:19) *
Рекомендую использовать IAR, он является одним из лучших по качеству компиляции кода ...

А стоимость его вы видели?
Всё равно когда-то придётся платить...
Хотя, может для кого-то 2-3 тыщи евро мелочь, но мне на данном этапе развития точно никто не купит.
ИДЕ у ИАРа откровенно хилая, не зря они к клипсе примазываются.
Хотя есть такая забавная фича, как навигация по тексту вперёд/назад по Alt-> и Alt<- - очень удобно.
demiurg_spb
Берегите кармуsmile.gif
Использование ломанных тулзов, при наличии полноценного БЕСПЛАТНОГО инструментария (gcc) - моветон. ИМХО.
Даже если бы мне ещё и приплатили и дали лицензионный CV я бы не променял gcc на негоsmile.gif
Proton
Цитата(haker_fox)
Это неверно! Там есть C++.
Посмотрел, действительно есть поддержка. Выходит всё время ошибался, сам не знаю почему сложилось такое мнение.

Цитата(MrYuranА)
стоимость его вы видели?
Всё равно когда-то придётся платить...
На стоимость не смотрю, всегда стараюсь использовать ПО максимально отвечающее моим потребностям. Моему руководству без разницы что я использую, главное чтоб был результат.
defunct
Цитата(Proton @ Jun 29 2009, 19:19) *
Рекомендую использовать IAR, он является одним из лучших по качеству компиляции кода

Для AVR - безвариантно - самым лучшим.

Цитата(haker_fox @ Jun 30 2009, 04:25) *
При этом ему не так много уступает бесплатный GCC.

На самом деле уступает достаточно много, иногда можно сказать фатально.
Недавно пытался впихнуть достаточно простой проект в m48. Причем начиналось все с 9K кода.. И так крутил и эдак... урезал все, что можно дня наверное два.. Ну никак хоть тресни. sad.gif Максимум выдавил ~5K. Этот же код сбилдил в IAR'е - сходу получил 3K. Вот так то.
manul78
Цитата(defunct @ Jul 1 2009, 19:59) *
На самом деле уступает достаточно много, иногда можно сказать фатально.
Недавно пытался впихнуть достаточно простой проект в m48. Причем начиналось все с 9K кода.. И так крутил и эдак... урезал все, что можно дня наверное два.. Ну никак хоть тресни. sad.gif Максимум выдавил ~5K. Этот же код сбилдил в IAR'е - сходу получил 3K. Вот так то.


По поводу WinAVR... и размеров кода...

Последнее время "ваял" для ATmega8, 16 и пр... как-то все влезает, поэтому особо не заморачивался и
практически "по привычке" качал раз в 2-3 месяца последние релизы WinAVR и ставил их...
Но вот недавно пришлось писать под ATtiny2313, и никак не запихаю... не лезет и все тут, и программа
примитивная, там от силы на 1К... Посоветовался с друзьми, снес "свежий" релиз и поставил 2006 года.
и что-же Вы думаете - 900 слов код вышел... Так что приходится выбирать или размер или скорость...
defunct
Цитата(manul78 @ Jul 1 2009, 19:32) *
Так что приходится выбирать или размер или скорость...

Дык, если сравнивать WinAVR vs IAR, IAR дает меньший объем кода и бОльше скорость!
manul78
Цитата(defunct @ Jul 1 2009, 21:00) *
Дык, если сравнивать WinAVR vs IAR, IAR дает меньший объем кода и бОльше скорость!


Вот тогда такой Вам вопрос. Я например на IAR-е ни дня не работал, даже не видел его. Мне интересно,
IAR поддерживает стандартный ANSI C, или все-же есть разница ?
Спрашиваю, потому как алгоритмы свои сначала обкатываю на Borland С++, а потом переношу на WinAVR.
Может это конечно "по чудному", но я так привык... есть определенное удобство и плюсы...
defunct
Цитата(manul78 @ Jul 1 2009, 20:25) *
Вот тогда такой Вам вопрос. Я например на IAR-е ни дня не работал, даже не видел его. Мне интересно,
IAR поддерживает стандартный ANSI C, или все-же есть разница ?

Да, поддерживает strict ANSI C.
Кроме того есть возможность использовать IAR расширения языка, например модификаторы __flash/ __eeprom / __generic которые дают возможность работать с переменными расположенными в адресных пространствах FLASH и EEPROM точно также как и с теми которые располагаются в ОЗУ.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.