AVR Studio или CodeVisionAVR

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
vgorskih
Родился
Сообщения: 12
Зарегистрирован: Ср июл 21, 2010 10:20:42

AVR Studio или CodeVisionAVR

Сообщение vgorskih »

Слышал мнение, что CodeVisionAVR недостаточно компактно ассемблирует, что если писать на асме самому, то получится компактнее и вобще CodeVisionAVR не очень хороший кампилятор (простой но имеет ряд недостатков), дескать машинный код (hex. файл) можно сделать компактнее, если выбрать другую среду разработки (AVR Studio например). Кто чего нибудь может сказать по этому поводу.
Реклама
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: AVR Studio или CodeVisionAVR

Сообщение ChipKiller »

Писать компактно можно на любом языке - главное умело им пользоваться. На ассемблере программа будет компактнее, но при большом размере отлаживать ее будет сложней.
Реклама
Аватара пользователя
vgorskih
Родился
Сообщения: 12
Зарегистрирован: Ср июл 21, 2010 10:20:42

Re: AVR Studio или CodeVisionAVR

Сообщение vgorskih »

Я имею в виду что пишем только на С, но в разных кампиляторах
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: AVR Studio или CodeVisionAVR

Сообщение ChipKiller »

... если Вы имеете ввиду "крутизну" оптимизатора - наверное лучший у IAR или чего-то подобного ИМХО...
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Goldsmith
Опытный кот
Сообщения: 736
Зарегистрирован: Пн янв 10, 2011 03:06:36
Откуда: Ростов-на-Дону
Контактная информация:

Re: AVR Studio или CodeVisionAVR

Сообщение Goldsmith »

vgorskih писал(а):машинный код (hex. файл) можно сделать компактнее, если выбрать другую среду разработки (AVR Studio например).
vgorskih писал(а):Я имею в виду что пишем только на С, но в разных кампиляторах
Но в составе AVR Studio нет компилятора C, можно лишь подключить внешний toolchain.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
Реклама
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: AVR Studio или CodeVisionAVR

Сообщение ChipKiller »

Goldsmith писал(а):Но в составе AVR Studio нет компилятора C, можно лишь подключить внешний toolchain.
... думаю, говоря про AVR Studio, vgorskih имел ввиду WinAVR.
Реклама
Аватара пользователя
Goldsmith
Опытный кот
Сообщения: 736
Зарегистрирован: Пн янв 10, 2011 03:06:36
Откуда: Ростов-на-Дону
Контактная информация:

Re: AVR Studio или CodeVisionAVR

Сообщение Goldsmith »

ChipKiller писал(а):... думаю, говоря про AVR Studio, vgorskih имел ввиду WinAVR.
Возможно. WinAVR действительно дает код если и не лучшего, то во всяком случае вполне приемлемого качества. При этом обладает еще и другими достоинствами, которые могут оказаться поважнее компактности кода (в конце концов, если для программы мало места, всегда можно взять AVR "потолще").
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: AVR Studio или CodeVisionAVR

Сообщение Danko »

И компилятор CVAVR и компилятор WinAVR собирают hex одинаковой длины и это при условии, что используете голый Си т.е. складываете 2 числа, пересылаете, считываете с портов и т.д.

Но вряд ли вы пользуетесь голым Си.

Сила Си компилятора в библиотеках.

Используя WinAVR вы получаете легальный бесплатный продукт, но при этом поиск библиотек ложится на ваши плечи.

в комплекте с CVAVR есть много библиотек, и для быстрого старта очень не плохо, но продукт коммерческий и отсюда все вытекающие последствия. Исходный код большей части библиотек закрыт.

И вообще сравнивать коммерческий продукт с бесплатным неблагодарное дело.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
vgorskih
Родился
Сообщения: 12
Зарегистрирован: Ср июл 21, 2010 10:20:42

Re: AVR Studio или CodeVisionAVR

Сообщение vgorskih »

недопонимаю о чём речь (с авр студио не работал), говоря по деревенски в нём есть кампилятор ассемблера и нет встроенного кампилятора С, или как.
Murav
Опытный кот
Сообщения: 877
Зарегистрирован: Чт фев 18, 2010 13:51:56

Re: AVR Studio или CodeVisionAVR

Сообщение Murav »

Danko писал(а):И компилятор CVAVR и компилятор WinAVR собирают hex одинаковой длины и это при условии, что используете голый Си т.е. складываете 2 числа, пересылаете, считываете с портов и т.д.
Вообще-то машинный код у них получается далеко не одинаковой длинны из-за работы оптимизатора. Даже самый маленький кусок кода можно оптимизировать по-разному.
У WinAVR(он же avr-gcc) оптимизатор(имеется в виду процессорно-независимая часть) заметно лучше чем у CVAVR(и возможно даже лучше, чем у IAR), но он плохо учитывает особенности архитектуры AVR(особенно - размер слова 8 бит). Хотя очень похоже, что это не мешает ему заметно обходить CVAVR по качеству оптимизации, то есть размеру кода или скорости выполнения, в зависимости от настроек оптимизации.
И так же WinAVR использует стандарт C99, в который перетащили из C++ некоторое количество полезных возможностей.
Danko писал(а):Сила Си компилятора в библиотеках.
Оптимизация как минимум не менее важна - чем она лучше, тем больше сможет делать МК, а вот толку с библиотек часто бывает весьма мало - как правило в них нечего выносить в библиотеки. Обычно используется лишь пара библиотек, которые не так уж и сложно сделать самому.
vgorskih писал(а):недопонимаю о чём речь (с авр студио не работал), говоря по деревенски в нём есть кампилятор ассемблера и нет встроенного кампилятора С, или как.
Вместе AVR Studio не ставится никакой компилятор(вполне возможно, только из-за того что avr-gcc - OpenSource и его неполучается распространять вместе с коммерческой программой), но если на компьютере есть WinAVR, то в ней можно писать программы на C(или на C и ассемблере сразу). И в большинстве случаев ставят сразу AVR Studio и WinAVR.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18673
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: AVR Studio или CodeVisionAVR

Сообщение ARV »

Murav писал(а):Вместе AVR Studio не ставится никакой компилятор(вполне возможно, только из-за того что avr-gcc - OpenSource и его неполучается распространять вместе с коммерческой программой), но если на компьютере есть WinAVR, то в ней можно писать программы на C(или на C и ассемблере сразу). И в большинстве случаев ставят сразу AVR Studio и WinAVR.
AVR Studio - бесплатный продукт, т.е. не коммерческий. кроме того, команда Atmel по сути монополизировала разработку avr-gcc (WinAVR) и теперь так же предлагает для скачивания со своего сайта этот тулчейн (а заодно и для 32-битных AVR). так что еще немного - и студия будет иметь "свой" компилятор :))) может, пока я пишу - это уже свершилось :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: AVR Studio или CodeVisionAVR

Сообщение Danko »

Murav писал(а):Оптимизация как минимум не менее важна - чем она лучше, тем больше сможет делать МК, а вот толку с библиотек часто бывает весьма мало - как правило в них нечего выносить в библиотеки. Обычно используется лишь пара библиотек, которые не так уж и сложно сделать самому.
У нас с Вами абсолютно разное мышление.

Я Си-программист и мыслю как Си-программист, а Вы похоже Ассемблер-программист и даже когда пишите на Си то все равно мыслите как Ассемблер-программист и Вы теряете все преимущества языка Си.

И что значит "сделать библиотеку самому" ? Библиотека это не процедура и не функция в которые выносятся повторяющиеся части программы. В отличие от ассемблера Си-код дает такое преимущество как кроссплатформенность, а это улучшает повторяемость проекта.

Да и зачем тратить время на создание библиотеки. Пересмотрите ветки форума, сколько человек мучают DS18B20, знакосинтезирующие, графические LCD, и вопросы по сути идентичные. Да они все разберутся и соберут свою библиотеку, но ... можно ли ею поделиться со всеми и сможет ли другой ею воспользоваться ?
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
Goldsmith
Опытный кот
Сообщения: 736
Зарегистрирован: Пн янв 10, 2011 03:06:36
Откуда: Ростов-на-Дону
Контактная информация:

Re: AVR Studio или CodeVisionAVR

Сообщение Goldsmith »

Danko писал(а):И компилятор CVAVR и компилятор WinAVR собирают hex одинаковой длины
Можете привести источник этой информации?
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: AVR Studio или CodeVisionAVR

Сообщение Danko »

Таких примеров быть не может т.к. речь идет о голом Си.

Ну нужно выхватывать слов из контекста.

Тем более я никогда не занимался такой ерундой как сравнение длины кодов. Такое сравнение может делать только русский человек т.к. у русских и WinAVR и CVAVR являются фриварьными.

Точно также народ сравнивает Windows и Linux. И при этом я читал интервью с одним директором который сказал, что деньги потраченные на переучивание персонала для перехода на Линукс больше денег чем купить лицензию на Windows.

И вообще, что существуют всего два Си компилятора для AVR ?

CodeVisionAVR,
WinAVR,
IAR for AVR,
ImageCraft C,
Micro C
...
Последний раз редактировалось Danko Пт фев 25, 2011 13:08:04, всего редактировалось 1 раз.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
Goldsmith
Опытный кот
Сообщения: 736
Зарегистрирован: Пн янв 10, 2011 03:06:36
Откуда: Ростов-на-Дону
Контактная информация:

Re: AVR Studio или CodeVisionAVR

Сообщение Goldsmith »

Понятно, спасибо. Утверждения, которые невозможно ничем подтвердить, очень информативны и убедительны.

Тот факт, что существуют различные опции копиляции (в частности, несколько режимов оптимизации), и в зависимости от них размер генерируемого кода даже при использовании одного и того же компилятора может меняться очень сильно, замнем для ясности.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: AVR Studio или CodeVisionAVR

Сообщение Danko »

Goldsmith писал(а):замнем для ясности.
Согласен.
Goldsmith писал(а):Тот факт, что существуют различные опции компиляции
Стоит добавить разную степень оптимизации у разных версий одного и того же компилятора.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
vgorskih
Родился
Сообщения: 12
Зарегистрирован: Ср июл 21, 2010 10:20:42

Re: AVR Studio или CodeVisionAVR

Сообщение vgorskih »

Одно время я работал в фирме занимающейся выпуском преобразователей частоты (для металлургии т.е. индукционная закалка деталей, индукционная плавка) и у нас было несколько человек (все самоучки), которые разработали железную и программную часть для управления этими самыми преобразователями, на плате была ПЛИС и какая то атмега (сейчас уже не помню какая не суть), работали они в АВР студио . Я начал изучение с Код Вижен АВР, правильно ли я понимаю, что люди, которые хотят сделать серьёзное изделие (связку железо+программа) выберут АВР Студио+winavr(AVRGCC), нежели CodeVisionAVR. По причине того, что в нём отладку написанного продукта проводить проще. И ещё по какой нибудь причине, которой я не знаю.
Аватара пользователя
Goldsmith
Опытный кот
Сообщения: 736
Зарегистрирован: Пн янв 10, 2011 03:06:36
Откуда: Ростов-на-Дону
Контактная информация:

Re: AVR Studio или CodeVisionAVR

Сообщение Goldsmith »

vgorskih писал(а):правильно ли я понимаю, что люди, которые хотят сделать серьёзное изделие (связку железо+программа) выберут АВР Студио+winavr(AVRGCC), нежели CodeVisionAVR. По причине того, что в нём отладку написанного продукта проводить проще. И ещё по какой нибудь причине, которой я не знаю.
В принципе серьезные вещи можно делать почти в любой среде. Тут больше определяется опытом и умением разработчика.

Лично я отдаю предпочтение WinAVR по нескольким причинам. Одна из основных - многоплатформенность: существуют достаточно хорошо совместимые реализации GCC для очень большого числа микропроцессоров/контроллеров, поэтому велика вероятность того, что при необходимости проще будет портировать разработки на другие платформы (помните, например, как колбасило ATMEL в прошлом году?).

Еще одна причина - хорошая совместимость GCC со стандартами. Порой даже трудно сказать, делали ли GCC под стандарт или же стандарт писали, глядя на GCC. Как следствие - применимость большого числа инструментов, рассчитанных на синтаксис стандартного С.

Ну и еще очень важная для меня причина - наличие реализации GCC под IBM PC. Это дает возможность отлаживать бОльшую часть кода на персоналке, даже не прошивая его в микроконтроллер.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
Murav
Опытный кот
Сообщения: 877
Зарегистрирован: Чт фев 18, 2010 13:51:56

Re: AVR Studio или CodeVisionAVR

Сообщение Murav »

Danko писал(а):Я Си-программист и мыслю как Си-программист, а Вы похоже Ассемблер-программист и даже когда пишите на Си то все равно мыслите как Ассемблер-программист и Вы теряете все преимущества языка Си.
Я тоже Си-программист(а при возможности пишу на C++) и начинал, кстати с Delphi. На ассемблере практически не пишу. И какие же приемущества Си имеются в виду?
Danko писал(а):Библиотека это не процедура и не функция в которые выносятся повторяющиеся части программы.
А библиотека разве не является набором функций, повторяющейся в разных программах?
Danko писал(а):В отличие от ассемблера Си-код дает такое преимущество как кроссплатформенность, а это улучшает повторяемость проекта.
Как это связано с библиотеками?
Danko писал(а):Да они все разберутся и соберут свою библиотеку, но ... можно ли ею поделиться со всеми и сможет ли другой ею воспользоваться ?
Если код написан более-менее грамотно, то такой библиотекой легко может воспользоваться любой человек, причём не обязательно использующем тот же компилятор.
Кстати у Atmel есть почти готовые библиотеки для работы с многими интерфейсами.
Danko писал(а):Таких примеров быть не может т.к. речь идет о голом Си.
Что же такое "голый Си"?
vgorskih писал(а):По причине того, что в нём отладку написанного продукта проводить проще. И ещё по какой нибудь причине, которой я не знаю.
Ещё одна из причин - лучшая по сравнению с CVAVR оптимизация кода, которая в результате позволяет сэкономить на железе или сделать больше возможностей.
В результате получается, что бесплатные AVR Studio и WinAVR оказываются как минимум не хуже CVAVR.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: AVR Studio или CodeVisionAVR

Сообщение HHIMERA »

WinAvr действительно выдаёт меньший по размеру код на 10-20%...
И ваще... CodeVisionAVR - это Си-подобный компилер для начинающих, если с прицелом на развитие - фтопку...
"Я не даю готовых решений, я заставляю думать!"(С)
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»