AVR Studio в Linux.

Печально, но факт, что Atmel штампует свое замечательное IDE только для семейства OS Windows. Поэтому пользователям Linux приходится по-всякому извращаться, чтобы заполучить себе на машину этот удобнейший инструмент разработчика. Существует два очевидных решения этой задачи. Первый — запускать студию в Windows, которая крутится на виртуальной машине (отдельную машину с Win не рассматриваем). Второй — запускать программу посредством Wine.

Первый способ хорош 100%-й совместимостью и полным отсутствием софтверных граблей. Железные же практически полностью висят на разработчиках виртуальных машин и обычно стремятся к нулю. Однако, виртуальная машина отжирает у хост-машины ценные системные ресурсы. Кроме того, стоит учесть, что налог на Windows не зависит от того насколько виртуальна машина, на которой бегает эта операционная система. Ну и окно-в-окне, особенно при неудачно реализованном механизме переключения между системами, удовольствия не доставляет. Если вас эти ограничения не смущают, это вполне себе вариант. В Википедии есть прекрасная сводная таблица виртуальных машин, которая может вам пригодиться.

Способ запуска программ (любых) посредством Wine — вполне себе самодостаточен. Стоит помнить, что проект постоянно развивается. Сегодняшний Wine не чета тому, который мне довелось пощупать при первом знакомстве. Сайт проекта: http://www.winehq.org/. Этот вариант распишу подробно.

Итак. Для начала обновляем Wine. Это обязательно нужно сделать, т.к. в состав дистрибутивов обычно входит стабильный, а значит достаточно старый релиз. Последний стабильный релиз — 1.0.1 (октябрь 2008 года). У меня сейчас стоит версия 1.1.33, на момент написания статьи отрелизилась 1.1.36 (8 января 2010 года). Идем в раздел Downloads на сайте, ищем СВОЙ дистрибутив и внимательно читаем инструкции по установке. В моем случае это Debian, о нем и пойдет речь дальше. Если у вас не Debian — ставите по-своему.

Подключаем репозиторий Вайна. Нужно добавить строчку в файл /etc/apt/sources.list (с правами root’а):

#echo "deb http://www.lamaresh.net/apt lenny main" >> /etc/apt/sources.list

Скачаем ключик для доступа к репозиторию:

$wget http://www.lamaresh.net/apt/key.gpg
#apt-key add key.gpg

Обновим список пакетов и установим программу:

#apt-get update
#apt-get install wine

После установки последуем инструкции от aor_dreamer с форума AVR Freaks.

Качаем и запускаем скрипт winetricks:

$wget http://www.kegel.com/wine/winetricks
$bash winetricks

В открывшемся окне ставим следующие флажки:

- corefonts
- dcom98
- gdiplus
- gecko
- mdac28
- msxml3
- vcrun2005
- allfonts
- fakeie6

После того как скрипт отработает (придется принять участие и посоглашаться с лицензиями MS) качаем AVR Studio с оффсайта Atmel и устанавливаем:

$wine AvrStudio4Setup.exe

Запускаем (это путь, куда студия становится по умолчанию):

$wine "~/.wine/drive_c/Program Files/Atmel/AVR Tools/AvrStudio4/AVRStudio.exe"

По желанию можно написать простенький скрипт для запуска и повесить его на рабочий стол (правильную картинку можно взять здесь).

Осталась небольшая проблемка. AVR Studio отказалась видеть подключенный аналог STK500 (модифицированный HVProg). Интерфейс с ПК в моей версии реализован посредством FT232RL, которая видна в системе как /dev/ttyUSB0. Студия же ищет программатор по привычным COMx, где х — номер порта.

Тут все просто. Создаем ссылку (root’ом):

#ln -s /dev/ttyUSB0 <home_dir>/.wine/dosdevices/com1

/dev/ttyUSB0 — физическое устройство (например, реальный COM порт: /dev/ttyS0);
<home_dir> — путь к домашнему каталогу пользователя;
com1 — имя порта для Win (например, lpt1 для параллельного интерфейса).

Программатор определился в автоматическом режиме и тут же бодро прочитал/зашил пару МК. Пока проверял только ISP режим, но думаю с HV проблем не будет. (также наверняка не будет и проблем с JTAG ICE первой модификции, а также всеми программаторами работающими по честному COM порту — прим.DI HALT)

Учтите, что пользователь, которому нужен доступ к портам через wine, должен иметь права на чтение-запись в порт, т.е. находиться в соответствующей группе.

Блог автора: http://devmind.livejournal.com/

78 thoughts on “AVR Studio в Linux.”

    1. А пляски никакой и нет. Лучше взять посвежее от греха подальше. У Длиного проблемы были с вайнтриксом на старом вайне.

      В синаптике нужно добавить репозиторий и ключик для него. После этого обновить список пакетов и поставить свежатину.

  1. Глупый вопрос — чего есть такое в аврстудии, что ее надо тащить вайном?

    Я поставил Eclipse. Завелся с полпинка. После этого поставил такой-же эклипс и под винды. Проблем пока не знаю. Но у меня, может, и проекты какие-то простые.

    Да, я не использую аппаратную отладку, но может просто не умею ее готовить?

    DI HALT — вот чего очень бы хотелось услышать, так это про отладку во всех ее образах. А то до сих пор гильзой пользуюсь — в уме отлаживаю, да контрольные точки на экранчик вывожу.

    1. Про отладку в ближайших планах. Когда будет на чем отлаживать. В смысле какая то сложная прошивка. Думаю поста через два три будет.

      Студия хороша своей эмуляцией. Работой с жтагом. Программаторами и прочими приятностями. Ну и сама по себе студия это как мощный справочник по авр. Т.е. я когда в ней программирую то могу даже в даташит не лазать — она сама тебе подскажет что какой бит значит и выведет краткую справку.

        1. Дак это, наводишь на любой бит в дереве устройств она тебе подсказывает что за бит. Ну там еще виды отображения можно попереключать. Для более информативного вида.

      1. Да, так и было. Насколько я помню, после winetricks стало можно выбрать устройство из списка. А вот почему дальше не заработало — я не помню. Так как выяснилось, что PWM симулируется как-то плохо, мой интерес к симуляторам поугас.

  2. А я вот пользую Code:Blocks отличная IDE и нативно дружит с AVR-GCC. Работает под linux/windows, да и любой другой системой в которой есть GCC и wxWidgets.
    И ненужны никакие извращения с VM или еще хуже Wine.

      1. так же как и в GCC-AVR, с ассемблером имеется — реализацию критичных функций можно писать на ассемблере, но это дополнительная плюшка C:B это все же C/C++ IDE. А вот эмуляции нет. Но есть протеус, который цепляет *.elf с отладочной информацией, а там уже и брейки и вотчлистс и прочие прелести империализма.

          1. Ну попробовать стоит, вдруг понравится. среда действительно удобная.
            З.Ы.
            Кого только не встретишь, на просторах easyelectronix.ru =) Читай твой журнал уже много лет =)

      2. ассемблер есть отдельно, есть ассемблерные вставки в код, все как у людей.

        симуляция отдельно http://savannah.nongnu.org/projects/simulavr/ насколько он кошерен я не знаю, не смотрел пока.

        JTAG отладка тоже есть, удобные морды к отладчику тоже есть.

  3. Привет всем!.
    Спасибо автору — прекрасный сайт.
    Попытка установить AVRStudio пока окончилась неудачей.После операции:
    ================
    $bash winetricks

    В открывшемся окне ставим следующие флажки:

    — corefonts
    — dcom98
    — gdiplus
    — gecko
    — mdac28
    — msxml3
    — vcrun2005
    — allfonts
    — fakeie6
    ====================
    в некоторых местах получаю сообщение:

    и процесс прекращается.Что-бы это значило?
    Ubuntu 9.04

    Спасибо!

  4. Привет всем!.
    Спасибо автору — прекрасный сайт.
    Попытка установить AVRStudio пока окончилась неудачей.После операции:
    ================
    $bash winetricks

    В открывшемся окне ставим следующие флажки:

    — corefonts
    — dcom98
    — gdiplus
    — gecko
    — mdac28
    — msxml3
    — vcrun2005
    — allfonts
    — fakeie6
    ====================
    в некоторых местах получаю сообщение:

    Note: command ‘wine /home/ded/.winetrickscache/mdac28/mdac_typ.exe’ returned status 2. Aborting.

    и процесс прекращается.Что-бы это значило?
    Ubuntu 9.04

    Спасибо!

              1. Ура-а-а!Установил!

                Снес старый Wine.Папку .wine переименовал в .wwine
                С репозитария установил wine 1.1.36.Одновременно установилось corefonts и gecko.
                Далее компоненты устанавливал согласно инструкции DI_HALT по одному,дабы засечь,что будет сопротивляться.corefonts и gecko не устанавливал.Правда там было сообщение,что NTGraph.ocx не хватает.Но там оно есть,если будут проблемы,подсунем.
                Это Ubuntu 9.04
                Всем большое спасибо!

    1. У меня прокатила следующая команда в консоли:
      winetricks corefonts gdiplus gecko msxml3 vcrun2005 allfonts fakeie6 dotnet20

      Из оригинала был исключен Dcom98 и добавлен .NET
      После чего все нормально встало, за исключением регистрации ntgraph.ocx, но насколько я понял, это не критично, студия вроде работает.

  5. Привет, у меня стоит мэк леопард , хочу установить AVR Studio, если можно в двух словах описать все достоинства и недостатки каждой из опций:

    1. установить на виртуальную машину vmware
    2. установить на виртуальную машину paralels
    3. установить через wine (есть для мэка http://davidbaumgold.com/tutorials/wine-mac/)

    Спасибо за внимание

  6. Уважаемые линуксоиды.
    winetricks ставит только
    corefonts
    gecko
    fakeie6
    На остальное матерится(пример с mdac 28):
    Note: command ‘wget -O MDAC_TYP.EXE -nd -c —read-timeout=300 —retry-connrefused —header Accept-Encoding: gzip,deflate http://download.microsoft.com/download/c/d/f/cdfd58f1-3973-4c51-8851-49ae3777586f/MDAC_TYP.EXE‘ returned status 1. Aborting

    PS.система ubuntu 9.10

  7. так намного проще, чем ставить галки:
    chmod +x winetricks
    ./winetricks corefonts dcom98 gdiplus gecko mdac28 msxml3 vcrun2005 allfonts fakeie6
    действительно, пришлось поставить еще msi2 и vcrun2008.
    Чтобы встал vcrun2008 пришлось в winecfg сделать:
    «5.) Scroll down until you see msi(native, builtin)
    6.) Click it and click the “edit” button to the right
    7.) Click the radio button next to “Builtin then Native”»
    иначе вылетала ошибка «windows installer service could not be accessed»
    линуксоиды извращенцы
    зы зато почти все быстро гуглится
    зыы у меня макось

  8. спасибо за руководство
    у меня вот какой вопросs
    у меня стоит wine-1.2

    1) при запуске скрипта winetricks — у меня нет позиции fakeie6

    2) тем не менее avr studio у меня проинсталировался
    но после загрузке у меня открывается диалоговое окно предлашающее создать новый проект или открыть существующий — закрыв это окно avr подвисает намертво :(
    куда копать?

      1. У меня Ubuntu 11.10 x86
        Установлен wine-1.4-rc6 + список библиотек к нему выше (за исключением dcom98 и fakeie6). У меня AVRStudio 4.19 Build 730.
        Такая же ошибка «Error getting supported devices».

        Решение:
        После создания проекта редактировать файл .asp вручную, указывая в нем нужный МК. Или выбирать самый верхний эмулятор из списка, т.о. становится доступен список МК, выбрать нужный МК, и снова выбрать эмулятор AVR Simulator. Так и жить.
        Здесь подробно по версиям и билдам AVRStudio расписаны замечанные косяки при работе под вайном определенной версии:
        http://appdb.winehq.org/objectManager.php?sClass=application&iId=402

  9. Поставил АВРстудию в Ubuntu 12.04 Все работает, в том числе и в симуляторе. Подключил программатор AVRDragon. В студии не получается с ним соединиться, чтобы прошить контроллер. В чем может быть дело???

Добавить комментарий