AVR Studio против IAR Embedded Workbench - что выбрать? |
|
Написал microsin
|
01.11.2008 |
Все нижесказанное относится к версии AVRStudio 4.xx. Пятую версию пока не пробовал, изменений там много, по крайней мере внешне (AVRStudio 5.xx выполнена на основе интерфейса Visual Studio от Microsoft).
[Чем AVR Studio хуже IAR Embedded Workbench?]
1. В текстовом редакторе нет функции autocomplete для известных имен переменных (хотя у IAR это тоже работает не ахти как хорошо).
2. Нет встроенного help по функциям и библиотекам.
3. Нельзя запретить очистку памяти EEPROM при запуске отладки. Кстати, это полуправда, потому что отключить очистку можно, но как это сделать - совсем неочевидно. Лишь недавно разобрался с этой проблемой, см. статью "Как сделать, чтобы в AVR Studio не портилась EEPROM при старте отладки".
4. Нет подсветки скобок блоков в редакторе кода.
5. Нет удобной навигации по именам подпрограмм, переменных и макросов (Go to definition of ...).
[Чем AVR Studio лучше IAR Embedded Workbench?]
1. AVR Studio бесплатна.
2. Есть очень удобный I/O View, показывающий ресурсы процессора и их назначение.
Вывод: в своем инструментарии нужно обязательно иметь оба этих продукта.
|
Последнее обновление ( 03.06.2013 )
|
Комментарии
2013-06-2014:27:26 Пожалуйста, подскажите, где в IAR для AVR (у меня 6.20.2) функция autocomplete зарыта?
microsin: во всех версиях IAR всегда было автозавершение (в терминах IAR эта функция называется Complete) по горячим клавишам Ctrl+SPACE (по умолчанию). Если надо поменять, то настраивается через Tools -> Options -> раздел Key Bindings, Menu: Edit -> Command: Complete (нужно задать hotkey для автозавершения имени переменной).
2011-07-1502:40:21 Вполне возможно писать код для обоих компиляторов сразу, причём писать код в MS VS2008. Я так делаю. Отлаживать можно как в IAR'е, так и в AVR Studio 4 и AVR Studio 5.
Вот пример такого проекта:
https://mysvn.ru/cop/Example/
Там правда ещё круче. Классы я проектирую в EA (см. readme.txt), а потом их код просто генерю и подключаю в VS2008. Мне доступны все прелести IDE VS2008. Компиляция при помощи Makefile для AVRGCC, а для IAR просто создан отдельный проект (папка iar) с теми же исходниками. Переключение компилятора в файле Defines.h.
Этот пример компилится в IAR и GCC, основан на классах. Симулируется в IAR, AVR Studio 4 и AVR Studio 5. Проекты для AVR Studio создаёт IAR в формате ubrof8, который те подхватывают.
В общем, было бы желание это освоить. Есть, конечно, небольшие подводные камешки, но при определённом навыке и стиле МОЖНО писать С++ программы для обоих компиляторов в VS2008.
2011-06-2215:45:54 млин, ну вышла уж AVR STUDIO 5, а воз и ныне там?
microsin: пока не тестировал подробно пятую версию, только скачал и установил, запустил - работает. Выглядит красиво, стала немного тормознутее. Есть ли баги - не знаю, пока не попадались.
2010-04-2122:32:40 Все плюсы и минусы касаются исключительно IDE. Для этого предлагаю посмотреть в сторону SlickEdit как для одного, так и для другого продукта У megajohn есть отличная статья для старта со сликом. Таким образом что IAR, что AVRstudio остаются для отладки
microsin: благодарю за ценный комментарий. Надо будет попробовать эту IDE, если дефицит времени позволит (а когда его не бывает дефицит?..). ИМХО, эта среда не для тех, кто привык воевать не с IDE, а исключительно с собственным или чужим кодом. К сожалению, пока не нашел, как организована полнофункционал ьная отладка в SlickEdit - т. е. как работает интеграция с Wiggler, MT-LINK, JLink, JTAGICE-mkII и проч. аппаратными отладчиками.
2009-02-1212:03:43 Противопоставле ние совершенно ни к чему.
При отладке одно дополняет другое, если использовать выходной формат ubroff8.
PS.
Уберите, пожалуйста, снежинки - скоро весна :)
microsin: Не уверен, что удобно писать на C в IAR, компилировать в ubroff, а потом загружать и отлаживать код в AVR Studio (хотя это возможно, и отладка будет по исходному коду на C). И наборот - вряд ли кому придет в голову писать на ассеблере или на C под GNU GCC в AVR Studio, а потом отлаживать скомпилированны й код в IAR. Хочу добавить - у меня не было цели создать впечатление, что один из продуктов считаю плохим, другой хорошим, и я вовсе не собирался подливать масла в огонь "священных войн". Я даже намеренно не стал упоминать глюки AVR Studio, которыми она славится и которые кочуют из версии в версию: эту IDE все равно трудно ругать - продукт-то БЕСПЛАТНЫЙ, и работать на нем можно и нужно (а иногда другой альтернативы просто нет). Заметка писалась для быстрого ответа на часто возникающий у новичков вопрос - с рассмотрения какой IDE начинать, и чем же они различаются? Надеюсь, что кому-то моя информация поможет. А после того, как народ наберется опыта, он уже и сам поймет, что ему по вкусу, и выберет для одной задачи одно, а для другой - другое.
[notabene] Сам работаю постоянно в IAR, но иногда пользуюсь и AVR Studio - при работе с бесплатной библиотекой AVR-USB от Objective Development. Лелею детскую мечту иметь для микроконтроллер ов такую же удобную и функциональную среду, как Visual Studio от Microsoft.
Снежинки убрал. Хотя, наверное, следовало их поменять на капельки