Компиляция и прошивка. WinAVR + Khazama AVR Programmer.

WINAWR KHAZAMA AVR

Что бы не отвечать на вопросы — как собрать и прошить прошивки из моих проектов написана эта статья. В ней я рассмотрю вопрос компиляции и прошивки, а так же софта и используемого оборудования. Для прошивки я пользуюсь программатором USB ASP
Стоит он 60-70р (практически по цене микроконтроллера ATMEGA8, на котором и собран). Даю несколько ссылок, так как лоты у продавцов иногда исчезают, а следить за их наличием и каждый раз менять статью мне лениво, поэтому вот ссылки.
http://ali.pub/43slcv
http://ali.pub/43slny
http://ali.pub/43sm25
http://ali.pub/43sm3p
http://ali.pub/43sm77
Можете купить по ссылке или поискать у других продавцов, так как цены так же со временем меняются и не всегда в меньшую сторону.

Для компиляции прошивки понадобится avr-gcc. Компилятор avr-gcc для виндовс включен в пакет WinAVR. Весит пакет этот не много (около 30 мегабайт), ставится быстро и нет привязки к какому то конкретному компилятору. К своим проектам я буду прикладывать BAT файл, запустив который вы соберете прошивку. Скачать его можно с офсайта по данной ссылке : http://winavr.sourceforge.net/download.html
Переходим по ссылке и попадаем сюда:

WINAVR download
WINAVR download

Далее нужно нажать на зеленую кнопку, далее вы должны попасть вот сюда https://sourceforge.net/projects/winavr/, но ссылка может измениться, поэтому я описываю полный путь как найти. Там загрузка начнется автоматически через5-10 секунд, более ничего нажимать не нужно (следите за таймером).

WINAVR Скачать
WINAVR Скачать

После скачивания просто установите данный пакет WinAVR. Система как обычно ругнется о том, что файл из неизвестного источника — просто игнорируем. Появится окошко с выбором языка, и начнется установка.

WinAVR 20100110
WinAVR 20100110

Все обычно и расписывать в картинках детально я не буду. Папку для установки можно не менять, оставив C:\WinAVR-20100110. Установщик еще предложит поставить и Programmers notepad (входит в состав) — даже если пользуетесь notepad++ лучше поставить — один раз notepad++ сыграл злую шутку — при работе с графическим дисплеем были проблемы с выводом нескольких русских букв, и я не мог понять — почему, убил 2 вечера, выясняя, оказалось дело в кодировке и например буква «Я» кодировалась notepad++ не верно, в исходнике, а компилятору пофигу, для него это не буква а просто байт. Когда открыл в блокноте идущем с WinAVR я увидел, что проблемные буквы превратились в абракадабру. Заменил и все заработало. Если прошивка не обрабатывает кириллицу, то править исходники можно в чем угодно.

WinAVR компоненты
WinAVR компоненты

После установки рекомендую перезагрузить компьютер, либо выйти из системы и войти вновь. Чтобы изменения для переменной Path вступили в силу для окружения пользователя. Теперь вы можете компилировать прошивки из моих проектов. Для этого в состав моих проектов приложен батник и make файл, где все настроено. Что бы скомпилировать, достаточно запустить RUN.bat из папки проекта. После компиляции вы должны увидеть что то вроде этого.

WinAVR компиляция AVR gcc
WinAVR компиляция AVR gcc

Если так, то все хорошо и прошивка собралась. Сам файл прошивки появится в этой же папке под именем main.hex.

Makefile я не настраиваю для работы с программатором заранее, так как программаторы у всех разные. Пользуюсь я программатором USB ASP, про него я писал выше, и продублирую ссылки в конце статьи, там же по мере редактирования статью будут появляться и другие ссылки… возможно… если будет, что добавить…. наверное…

Стоит дешево, шьет быстро. Для прошивки я использую программу KhazamaAVRProgrammer. По сути это графическая оболочка над AVRDUDE, но из всех, что я видел, эта понравилась больше всего. Раньше я писал батники под AVRDUDE, но потом надоело, особенно для фьюз под каждый проект.
Подробнее о данной программе можно почитать вот здесь:
https://cxem.net/software/khazama_AVR_programmer.php

Для прошивки нужно выбрать процессор.

KhazamaAVRProgrammer выбор микроконтроллера
KhazamaAVRProgrammer выбор микроконтроллера

Далее выбрать «File» и пункт «Load FLASH file to buffer»

KhazamaAVRProgrammer загрузка файла прошивки
KhazamaAVRProgrammer загрузка файла прошивки

или нажать кнопку

KhazamaAVRProgrammer загрузка файла прошивки

Для запуска процесса прошивки необходимо выбрать «Command» а в нем пункт «Write FLASH buffer to chip».

KhazamaAVRProgrammer запуск прошивки
KhazamaAVRProgrammer запуск прошивки


или нажать кнопку

Может выскочить ошибка.

Просто игнорируем ее и прошивка запустится. После удачной прошивки программа выкинет окошко с надписью «OK».

KhazamaAVRProgrammer прошивка завершена

Проверить, правильность подключения программатора и микроконтроллера можно, выбрав пункт «Command» а в нем пункт «Read chip signature». Вначале может выскочить та же ошибка, (скорее предупреждение), просто игнорируем (это предупреждение касается программатора, и на работу не влияет)
А далее окно с сигнатурой чипа. Если нет больше ошибок, то можно прошивать.

KhazamaAVRProgrammer чтение Chip Signature
KhazamaAVRProgrammer чтение Chip Signature

Для некоторых проектов потребуется править FUSE биты. Делается это для включения специфических функций или перенастраивании тактирования.
Биты меняются на вкладке «Command» а в нем пункт «Fuses and lock bits».

KhazamaAVRProgrammer работа с фьюзами

Перед правкой рекомендую нажать кнопку Default или загрузить из контроллера выбрав Read All . Какие биты устанавливать я буду указывать на странице проекта, если их требуется менять.

Ссылки:
Для прошивки я пользуюсь программатором USB ASP
Это несколько ссылок, так как лоты у продавцов иногда исчезают, а следить за их наличием и каждый раз менять статью мне лениво, поэтому вот ссылки на одно и то же.
http://ali.pub/43slcv
http://ali.pub/43slny
http://ali.pub/43sm25
http://ali.pub/43sm3p
http://ali.pub/43sm77
Можете купить по ссылке или поискать дешевле у других продавцов (на момент написания статьи это самые дешевые лоты у проверенных продавцов).

Если возникнут вопросы пишите в комментарии или в  группе в контакте. https://vk.com/public179183134

Автор: Ryazanec13

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *