Комментарии 37
AVR Studio специально создана для разработки под AVR, естественно она удобнее комбайнов типа Code::Blocks, но программировать можно.
Да, потому я ее и использую, кстати не только для программинга AVR :)
Я в курсе, что AVR Studio можно под вайном пускать. Но тем не менее, в родной ОС предпочитаю плагин к Eclipse.
Установить следует и то и другое.
В студии 4 было не очень удобно писать на С, но зато можно было отлаживать
при помощи симулятора.
Пятая студия пока еще сыровата и тяжеловата, но скоро думаю, у атмеловцев дойдут до нее руки,
и можно будет переходить на нее.
Лишь бы они не забили на старое семейство. А то есть предпосылки. Вот что мешало им прикрутить оба симулятора сразу?
Думаю, они слишком много времени тратят на гонку в 16/32 битном сегменте с теми же lpc, smt.
Остановились бы и пару месяцев разработчикам дали отладить среду с учетом требований пользователей.
Процесс программирования МК AVR одной картинкой(найдена на avrfreaks.net):
image
Супер! Я примерно так всё и делаю, только вместо nano — Geany (:
А я пользуюсь клоном, CodeLite.
И для программинга avr в том числе. Очень удобно, особенно автодополнение. После авр студио 4 был рай =), а 5-ю я еще не пробовал.
Про Avr Studio 5 на форуме easyelectronics пишут, что она раздутая, код сишных библиотек там фиговенький («помигать светодиодиком стало вместо 1700 байт — 3300»), а Di Halt говорит, что ещё и с поддержкой кристаллов там всё плохо. А у меня после кошмарной Avr Studio 4 вообще желание трогать такое отбило.
Лучше уж Geany, Code::Blocks или Codelite использовать. Вроде, даже для Eclipse плагин есть.
Что в 4й студии кошмарного? Зато максимально полная поддержка всех камней, эмуляция и возможность трассировки, работа с отладчиком. Быстрый контроль всех ресурсов. Студия эт не только редактор кода, а еще система моделирования проекта.
Интерфейс стрёмный, редактор кода на уровне notepad, нестабильно работает: подвисает во время симуляции, иногда падает. Конечно, ко всему можно привыкнуть — особенно тебе, электронщику. Тебе, к примеру, Eagle удобным кажется, а я замучался на каждый чих тыкать кнопку в боковой панели или в качестве альтернативы учить стопицот шорткатов, зато в DipTrace освоился влёгкую. Мы из разных племён, и на разработку смотрим по-разному (:
Эмм да похрену на интерфейс, главное возможности. Я студию как симулятор и отладчик использую.

А codeblock сотоварищи умеет подцеплять отладку и гонять трассировку по коду? Ставить брейки на события и код? Интегрироваться в симуляционные среды вроде протеуса (хотя и работает через жопу) и Hapsim? Поддрживает генерацию потоков входящих данных через sti скрипты? Может вычислять вычисления таймингов работы потактово и по секундам?

Если нет, то нафиг он не нужен, т.к. работа с кодом это не вбивание текста с гламурной подсветочкой, а именно правка, отладка, прогон под трейсом, ловля брейкпоинтами битых векторов и срывов стека, отлов зафачивания памяти и прочий отладочный изврат. Тем более что размер проектов под МК не исчисляется сотнями файлов.

А Eagle очень удобен, но интерфейс у него интуитивно понятным не назвать, это факт. Чтобы в нем эффективно работать надо почитать мануал вдумчиво.
Во первых там рулят макросы и комбинации команд. Во вторых рулит игловская консоль (это, конечно, не автокадовская, но тоже ничо), ну и в третьих рулят разные мощные скрипты. В Четвертых — бесконечное undo — можно откатить плату до зачаточного состояния.

А диптрейс мне вот совсем не понравился. Очень уж у него неудобная навигация по комплектухе. Нет мгновенной форвард аннтотации (приходится обновлять). Ну и множество других шняжек.
Интерфейс к GDB есть, значит можно прицепить отладку, студия убога тем, что это путь в один конец, в AVR. А если хочется шаг влево, то типа ставить еще 100500 разных IDE? У меня все заточено под одну IDE, и на ней я одновременно собираю и GUI-программки под x86, и программки под MIPS архитектуру и под arm всех мастей от линуксовых до cortex'овских, ну и соответственно avr.
Да, уже неплохо. Жаль эмуляции нет. В AVR аппаратная отладка очень тормозная :(

Ну не знаю, для меня IDE это не более чем инструмент. Меня не обломает поставить под другой проц, например, Keil или что то еще. Главное чтобы функционал нужный был.
Если говорить именно про С++ под AVR то удобнее писать в Code::Block а вот отлаживать уже потом в студии. Для этом code::block генерирует специальный файл который студия легко подхватывает для отладки.

Хм. У меня написание это 5% остальное катание под отладчиком. Переключаться туда сюда это убиться можно.
Нет, в codeblocks я этим не пользуюсь,
даже не знаю насколько там адекватно серьезно отлаживать что-либо.
Обычно у меня открыта 2 окна: среда codeblocks и какой-нибудь эмулятор-отладчик,
либо сразу загружаю в железо и там уже гоняюсь.
Если бы Eagle на всех заводах брали (для изготовления PCB и монтажа), то он был бы лучшим вариантом. Но, к сожалению, с Eagle приходится возиться с экспортом в «станковые» форматы (GERBER), иначе на заводе Ваш проект не возьмут. А это как минимум неудобно. Поэтому PCAD все-таки ловчее.
Зато сдавая гербер ты на 100% уверен в том, что не будет никаких косяков. И получишь то что выдал. Опять же за конвертацию в гербер завод тоже может денежку потребовать.

Тем более выдать гербер из игла это пару раз мышкой кликнуть. Я много раз делал платы на заводе, никаких проблем.
Конечно, с экспортом в GERBER особых проблем нет, когда разобрался. Но все равно неудобно. А на заводе они даже твой GERBER ковыряют/правят, поэтому отдавать что GERBER, что PCAD для «точности» — все едино. Денюшку за «подготовку производства» стрясут по-любому, в каком бы формате ты им не слал. Причем GERBER далеко не все заводы привыкли от пользователей брать, ждут PCAD и Altium.
С кем ни работал, и с нашими колхозникам и с Ебургом и с китайцами — гербер принимают все.

А кто не принимает гербер?
Да вот, один сборщик/монтажник ООО «Мегаполис» сильно удивился, когда я им GERBER прислал. «Ой, а что это?.. Дайте PCAD».
Гхм протеус глючно убогий слив. Максимум что в нем можно отладить это мигающий диодик. Попробуй, например, отладить в протеусе полный цикл i2c автомата на slave с отработкой перехвата адреса master контроллером.
Единственный вариат — подкючение к протеусу аврстудии через VSM плагин, но как то чрезжопно он работает. Вылетает и глючит адски. То ли сырой то ли протеус криво крякнутый. В общем я его снес пару лет назад и с тех пор на него время не терял
i) Кстати, почему «программинг»? Ведь «программирование» же…
ii) То, что Code::Blocks именно версии 10.5 — принципиально? Неплохо было бы эту информацию убрать.
iii) util/delay.h, а не avr/delay.h. Вообще, неясно, почему использована относительно внутренняя функция _delay_loop_2(), а не _delay_us(), но в случае использования первой корректнее использовать вообще util/delay_util.h.
iv) Конечно, это как кому, но лично мне Code::Blocks не очень удобен.
v) Так а статья-то о чём?
Принципиально, в ранних версиях нет поддержки AVR.
Это демонстрационный пример для мигания светодиодами, функция _delay_loop_2(x) отлично справляется с формирование задержек. Эта небольшая статья описывает среду в которой можно программировать МК, используя gcc-avr компилятор.
Просто мне кажется, что надо было оформить либо топиком-ссылкой, ну или поширше растечься мыслью по асфальту :)
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.