AVR Studio или CodeVisionAVR
AVR Studio или CodeVisionAVR
Слышал мнение, что CodeVisionAVR недостаточно компактно ассемблирует, что если писать на асме самому, то получится компактнее и вобще CodeVisionAVR не очень хороший кампилятор (простой но имеет ряд недостатков), дескать машинный код (hex. файл) можно сделать компактнее, если выбрать другую среду разработки (AVR Studio например). Кто чего нибудь может сказать по этому поводу.
- Реклама
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: AVR Studio или CodeVisionAVR
Писать компактно можно на любом языке - главное умело им пользоваться. На ассемблере программа будет компактнее, но при большом размере отлаживать ее будет сложней.
Re: AVR Studio или CodeVisionAVR
Я имею в виду что пишем только на С, но в разных кампиляторах
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: AVR Studio или CodeVisionAVR
... если Вы имеете ввиду "крутизну" оптимизатора - наверное лучший у IAR или чего-то подобного ИМХО...
- Goldsmith
- Опытный кот
- Сообщения: 736
- Зарегистрирован: Пн янв 10, 2011 03:06:36
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: AVR Studio или CodeVisionAVR
vgorskih писал(а):машинный код (hex. файл) можно сделать компактнее, если выбрать другую среду разработки (AVR Studio например).
Но в составе AVR Studio нет компилятора C, можно лишь подключить внешний toolchain.vgorskih писал(а):Я имею в виду что пишем только на С, но в разных кампиляторах
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
J. Ganssle
- Реклама
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: AVR Studio или CodeVisionAVR
... думаю, говоря про AVR Studio, vgorskih имел ввиду WinAVR.Goldsmith писал(а):Но в составе AVR Studio нет компилятора C, можно лишь подключить внешний toolchain.
- Goldsmith
- Опытный кот
- Сообщения: 736
- Зарегистрирован: Пн янв 10, 2011 03:06:36
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: AVR Studio или CodeVisionAVR
Возможно. WinAVR действительно дает код если и не лучшего, то во всяком случае вполне приемлемого качества. При этом обладает еще и другими достоинствами, которые могут оказаться поважнее компактности кода (в конце концов, если для программы мало места, всегда можно взять AVR "потолще").ChipKiller писал(а):... думаю, говоря про AVR Studio, vgorskih имел ввиду WinAVR.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
J. Ganssle
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: AVR Studio или CodeVisionAVR
И компилятор CVAVR и компилятор WinAVR собирают hex одинаковой длины и это при условии, что используете голый Си т.е. складываете 2 числа, пересылаете, считываете с портов и т.д.
Но вряд ли вы пользуетесь голым Си.
Сила Си компилятора в библиотеках.
Используя WinAVR вы получаете легальный бесплатный продукт, но при этом поиск библиотек ложится на ваши плечи.
в комплекте с CVAVR есть много библиотек, и для быстрого старта очень не плохо, но продукт коммерческий и отсюда все вытекающие последствия. Исходный код большей части библиотек закрыт.
И вообще сравнивать коммерческий продукт с бесплатным неблагодарное дело.
Но вряд ли вы пользуетесь голым Си.
Сила Си компилятора в библиотеках.
Используя WinAVR вы получаете легальный бесплатный продукт, но при этом поиск библиотек ложится на ваши плечи.
в комплекте с CVAVR есть много библиотек, и для быстрого старта очень не плохо, но продукт коммерческий и отсюда все вытекающие последствия. Исходный код большей части библиотек закрыт.
И вообще сравнивать коммерческий продукт с бесплатным неблагодарное дело.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: AVR Studio или CodeVisionAVR
недопонимаю о чём речь (с авр студио не работал), говоря по деревенски в нём есть кампилятор ассемблера и нет встроенного кампилятора С, или как.
Re: AVR Studio или CodeVisionAVR
Вообще-то машинный код у них получается далеко не одинаковой длинны из-за работы оптимизатора. Даже самый маленький кусок кода можно оптимизировать по-разному.Danko писал(а):И компилятор CVAVR и компилятор WinAVR собирают hex одинаковой длины и это при условии, что используете голый Си т.е. складываете 2 числа, пересылаете, считываете с портов и т.д.
У WinAVR(он же avr-gcc) оптимизатор(имеется в виду процессорно-независимая часть) заметно лучше чем у CVAVR(и возможно даже лучше, чем у IAR), но он плохо учитывает особенности архитектуры AVR(особенно - размер слова 8 бит). Хотя очень похоже, что это не мешает ему заметно обходить CVAVR по качеству оптимизации, то есть размеру кода или скорости выполнения, в зависимости от настроек оптимизации.
И так же WinAVR использует стандарт C99, в который перетащили из C++ некоторое количество полезных возможностей.
Оптимизация как минимум не менее важна - чем она лучше, тем больше сможет делать МК, а вот толку с библиотек часто бывает весьма мало - как правило в них нечего выносить в библиотеки. Обычно используется лишь пара библиотек, которые не так уж и сложно сделать самому.Danko писал(а):Сила Си компилятора в библиотеках.
Вместе AVR Studio не ставится никакой компилятор(вполне возможно, только из-за того что avr-gcc - OpenSource и его неполучается распространять вместе с коммерческой программой), но если на компьютере есть WinAVR, то в ней можно писать программы на C(или на C и ассемблере сразу). И в большинстве случаев ставят сразу AVR Studio и WinAVR.vgorskih писал(а):недопонимаю о чём речь (с авр студио не работал), говоря по деревенски в нём есть кампилятор ассемблера и нет встроенного кампилятора С, или как.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18673
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: AVR Studio или CodeVisionAVR
AVR Studio - бесплатный продукт, т.е. не коммерческий. кроме того, команда Atmel по сути монополизировала разработку avr-gcc (WinAVR) и теперь так же предлагает для скачивания со своего сайта этот тулчейн (а заодно и для 32-битных AVR). так что еще немного - и студия будет иметь "свой" компиляторMurav писал(а):Вместе AVR Studio не ставится никакой компилятор(вполне возможно, только из-за того что avr-gcc - OpenSource и его неполучается распространять вместе с коммерческой программой), но если на компьютере есть WinAVR, то в ней можно писать программы на C(или на C и ассемблере сразу). И в большинстве случаев ставят сразу AVR Studio и WinAVR.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: AVR Studio или CodeVisionAVR
У нас с Вами абсолютно разное мышление.Murav писал(а):Оптимизация как минимум не менее важна - чем она лучше, тем больше сможет делать МК, а вот толку с библиотек часто бывает весьма мало - как правило в них нечего выносить в библиотеки. Обычно используется лишь пара библиотек, которые не так уж и сложно сделать самому.
Я Си-программист и мыслю как Си-программист, а Вы похоже Ассемблер-программист и даже когда пишите на Си то все равно мыслите как Ассемблер-программист и Вы теряете все преимущества языка Си.
И что значит "сделать библиотеку самому" ? Библиотека это не процедура и не функция в которые выносятся повторяющиеся части программы. В отличие от ассемблера Си-код дает такое преимущество как кроссплатформенность, а это улучшает повторяемость проекта.
Да и зачем тратить время на создание библиотеки. Пересмотрите ветки форума, сколько человек мучают DS18B20, знакосинтезирующие, графические LCD, и вопросы по сути идентичные. Да они все разберутся и соберут свою библиотеку, но ... можно ли ею поделиться со всеми и сможет ли другой ею воспользоваться ?
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- Goldsmith
- Опытный кот
- Сообщения: 736
- Зарегистрирован: Пн янв 10, 2011 03:06:36
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: AVR Studio или CodeVisionAVR
Можете привести источник этой информации?Danko писал(а):И компилятор CVAVR и компилятор WinAVR собирают hex одинаковой длины
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
J. Ganssle
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: AVR Studio или CodeVisionAVR
Таких примеров быть не может т.к. речь идет о голом Си.
Ну нужно выхватывать слов из контекста.
Тем более я никогда не занимался такой ерундой как сравнение длины кодов. Такое сравнение может делать только русский человек т.к. у русских и WinAVR и CVAVR являются фриварьными.
Точно также народ сравнивает Windows и Linux. И при этом я читал интервью с одним директором который сказал, что деньги потраченные на переучивание персонала для перехода на Линукс больше денег чем купить лицензию на Windows.
И вообще, что существуют всего два Си компилятора для AVR ?
CodeVisionAVR,
WinAVR,
IAR for AVR,
ImageCraft C,
Micro C
...
Ну нужно выхватывать слов из контекста.
Тем более я никогда не занимался такой ерундой как сравнение длины кодов. Такое сравнение может делать только русский человек т.к. у русских и 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. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- Goldsmith
- Опытный кот
- Сообщения: 736
- Зарегистрирован: Пн янв 10, 2011 03:06:36
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: AVR Studio или CodeVisionAVR
Понятно, спасибо. Утверждения, которые невозможно ничем подтвердить, очень информативны и убедительны.
Тот факт, что существуют различные опции копиляции (в частности, несколько режимов оптимизации), и в зависимости от них размер генерируемого кода даже при использовании одного и того же компилятора может меняться очень сильно, замнем для ясности.
Тот факт, что существуют различные опции копиляции (в частности, несколько режимов оптимизации), и в зависимости от них размер генерируемого кода даже при использовании одного и того же компилятора может меняться очень сильно, замнем для ясности.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
J. Ganssle
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: AVR Studio или CodeVisionAVR
Согласен.Goldsmith писал(а):замнем для ясности.
Стоит добавить разную степень оптимизации у разных версий одного и того же компилятора.Goldsmith писал(а):Тот факт, что существуют различные опции компиляции
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: AVR Studio или CodeVisionAVR
Одно время я работал в фирме занимающейся выпуском преобразователей частоты (для металлургии т.е. индукционная закалка деталей, индукционная плавка) и у нас было несколько человек (все самоучки), которые разработали железную и программную часть для управления этими самыми преобразователями, на плате была ПЛИС и какая то атмега (сейчас уже не помню какая не суть), работали они в АВР студио . Я начал изучение с Код Вижен АВР, правильно ли я понимаю, что люди, которые хотят сделать серьёзное изделие (связку железо+программа) выберут АВР Студио+winavr(AVRGCC), нежели CodeVisionAVR. По причине того, что в нём отладку написанного продукта проводить проще. И ещё по какой нибудь причине, которой я не знаю.
- Goldsmith
- Опытный кот
- Сообщения: 736
- Зарегистрирован: Пн янв 10, 2011 03:06:36
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: AVR Studio или CodeVisionAVR
В принципе серьезные вещи можно делать почти в любой среде. Тут больше определяется опытом и умением разработчика.vgorskih писал(а):правильно ли я понимаю, что люди, которые хотят сделать серьёзное изделие (связку железо+программа) выберут АВР Студио+winavr(AVRGCC), нежели CodeVisionAVR. По причине того, что в нём отладку написанного продукта проводить проще. И ещё по какой нибудь причине, которой я не знаю.
Лично я отдаю предпочтение WinAVR по нескольким причинам. Одна из основных - многоплатформенность: существуют достаточно хорошо совместимые реализации GCC для очень большого числа микропроцессоров/контроллеров, поэтому велика вероятность того, что при необходимости проще будет портировать разработки на другие платформы (помните, например, как колбасило ATMEL в прошлом году?).
Еще одна причина - хорошая совместимость GCC со стандартами. Порой даже трудно сказать, делали ли GCC под стандарт или же стандарт писали, глядя на GCC. Как следствие - применимость большого числа инструментов, рассчитанных на синтаксис стандартного С.
Ну и еще очень важная для меня причина - наличие реализации GCC под IBM PC. Это дает возможность отлаживать бОльшую часть кода на персоналке, даже не прошивая его в микроконтроллер.
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет.
J. Ganssle
J. Ganssle
Re: AVR Studio или CodeVisionAVR
Я тоже Си-программист(а при возможности пишу на C++) и начинал, кстати с Delphi. На ассемблере практически не пишу. И какие же приемущества Си имеются в виду?Danko писал(а):Я Си-программист и мыслю как Си-программист, а Вы похоже Ассемблер-программист и даже когда пишите на Си то все равно мыслите как Ассемблер-программист и Вы теряете все преимущества языка Си.
А библиотека разве не является набором функций, повторяющейся в разных программах?Danko писал(а):Библиотека это не процедура и не функция в которые выносятся повторяющиеся части программы.
Как это связано с библиотеками?Danko писал(а):В отличие от ассемблера Си-код дает такое преимущество как кроссплатформенность, а это улучшает повторяемость проекта.
Если код написан более-менее грамотно, то такой библиотекой легко может воспользоваться любой человек, причём не обязательно использующем тот же компилятор.Danko писал(а):Да они все разберутся и соберут свою библиотеку, но ... можно ли ею поделиться со всеми и сможет ли другой ею воспользоваться ?
Кстати у Atmel есть почти готовые библиотеки для работы с многими интерфейсами.
Что же такое "голый Си"?Danko писал(а):Таких примеров быть не может т.к. речь идет о голом Си.
Ещё одна из причин - лучшая по сравнению с CVAVR оптимизация кода, которая в результате позволяет сэкономить на железе или сделать больше возможностей.vgorskih писал(а):По причине того, что в нём отладку написанного продукта проводить проще. И ещё по какой нибудь причине, которой я не знаю.
В результате получается, что бесплатные AVR Studio и WinAVR оказываются как минимум не хуже CVAVR.
Re: AVR Studio или CodeVisionAVR
WinAvr действительно выдаёт меньший по размеру код на 10-20%...
И ваще... CodeVisionAVR - это Си-подобный компилер для начинающих, если с прицелом на развитие - фтопку...
И ваще... CodeVisionAVR - это Си-подобный компилер для начинающих, если с прицелом на развитие - фтопку...
"Я не даю готовых решений, я заставляю думать!"(С)


