3. Выбор программного обеспечения

Для того чтобы прошить (запрограммировать) МК нам потребуется специальная среда разработки, в которой мы сможем написать программу, скомпилировать его и залить ее через программатор в микроконтроллер.

Существуют различные програмные среды для микроконтроллеров AVR. Мы же будем использовать AtmelStudio, потому что она разработана специально для AVR, предоставляет возможность отладки кода, полностью бесплатна и не имеет ограничений на объем программируемой памяти МК. Скачать и установить ее можно отсюда.

Несколько рекомендаций: AtmelStudio не воспринимает кириллицу, поэтому путь установки и названия проектов необходимо писать латиницей. Иначе проекты не будут компилироваться. Так же, лучше не делать длинных путей к проекту.

После того как программа установлена, можно подключить и нашу отладочную плату к порту USB. Если все хорошо, то драйвер для программатора на плате установится автоматически, если этого не произошло, то нужно в ручную указать путь где находится AtmelStudio (у меня это C:\Program Files (x86)\Atmel). Когда драйвер установился, то в диспетчере устройств можно будет увидеть следующее, наш программатор AVRISP mkII - значит все прошло успешно.

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

Unable to connect to tool AVRISP mkII (000200212345)
Timestamp:   2015-01-15 01:55:39.480
Severity:      ERROR
ComponentId:   20100
StatusCode:   1

Особенно это касается Windows 8.1.

Эта проблема решается с помощью программы Zadig. Скачиваем программу. Подключаем программатор. В программе выбираем Options/List All Devises.

И теперь меняем текущий драйвер на драйвер libusb-win32 (v1.2.6.0). Кнопкой Reinstall Driver. После этого все должно заработать.

Теперь можно начинать писать прошивки для нашего МК Atmega32. При запуске AtmelStudio увидим такое окно:

Создадим новый проект нажав File/New/Project и появится:

Имя проекту давать желательно осмысленное. Чтоб потом глянув на папку проекта можно было понять что в нем. Если, допустим, мы хотим помигать светодиодом, то можно написать Atmega32_Led

Теперь жмем на ОК и выбираем модель программируемого микроконтроллера.

Снова жмем ОК и видим шаблон созданного проекта.

Окно IO View показывает "внутренности" микроконтроллера. Его ядро, периферия, внутренние регистры и прочее. При отладке программы к этому окну мы будем постоянно обращаться. В нем видно, как работают те или иные узлы в процессе исполнения программы.

В Solution Explorer находятся все файлы нашего проекта.

В папке Dependecies находятся файлы хедеры, которые среда подключила сама при создании проекта. Каждый файл можно открыть и посмотреть, что там. Но об этом поговорим позже.

В папке Output files находятся сгенерированные файлы после компиляции написанного вами кода. Компиляция вызывается через F7. Файл Atmega32_Led.hex это и есть прошивка котрую надо загрузить в МК.  Ну а в файле Atmega32_Led.c, пишем код на СИ, который после компиляции (F7) превращается в прошивку Atmega32_Led.hex.

Вот здесь и пишем программу.

После устанвоки программы надо не забыть нажать на "красный помидор" и снять галочку в опции Underline spelling errors in comments and strings using. Эта функция отключает/включает подчеркивание комментариев красной линией.

Для корректной работы с проверкой орфографии на русском в Visual Assist можно добавить словари OpenOffice:
Порядок установки:
  1. Загрузить архив со словарями с GoogleDrive.
  2. Извлечь файлы из архива в директорию со словарями. В зависимости от версии Windows словари помещаются в соответствующие папки:
    Vista/Windows 7: C:\Users\%USERNAME%\AppData\Roaming\VisualAssist\Dict\ Windows 2000/XP: C:\Documents and Settings\%USERNAME%\Application Data\VisualAssist\Dict\
  3. Перезагрузить Atmel Studio

Если этого не сделать, то все наши комментарии на кирилице будут подчеркнутыми. А когда комментариев много, то от этого начинает слегка рябить в глазах.

С основными органами управления мы разобрались. А об остальных мы расскажем в процессе обучения.