Решил хоть как-то слепить информацию о программировании AVR в Linux.
Так сказать показать путь который я прошел со своей Убунтой
1. Язык программирования
Языком программирования был выбран язык си. С ASM пока не особо дружу.
Использовал компилятор GNU Complier Collection (GCC).
Вот необходимые пакеты для установки:
gcc-avr - это та часть мощной GNU Complier Collection (GCC), которая будет осуществлять кросс-компиляцию для целевой архитектуры микроконтроллеров AVR.
binutils-avr - ассемблер, компоновщик и некоторые полезные утилиты.
avr-libc - стандартная библиотека Си для Atmel AVR.
avrdude - утилита для работы с программаторами.
Это необходимый минимум для создания приложений для AVR и прошивки микроконтроллеров. Для отладки пригодятся следующие пакеты:
gdb-avr - отладчик для AVR.
avarice - интерфейс между avr-gdb и AVR JTAG ICE.
simulavr - симулятор Atmel AVR.
Устанавливаем все пакеты одним махом)
sudo apt-get install gcc-avr binutils-avr avr-libc avrdude gdb-avr avarice simulavr
2. Среда разработки
Средой разработки выбрана Eclipse
Открываем любимый терминал и копипастим строчку
sudo apt-get install eclipse eclipse-cdt
Теперь у нас есть среда разработки, но для работы с нашим камнем нужен плагин AVR Eclipse Plugin
Запускаем нашу среду разработки Выбираем Хелп->Установка нового софта->Копипастим ссылку ниже->Жмем добавить.
http://avr-eclipse.sourceforge.net/updatesite/
Выбираем AVR Eclipse Plugin и жмем далее.
Собственно теперь мы можем создавать проект, там выбираем камень и частоту.
Можно прошивать прямо из Eclipse, но мне удобней отдельно.
3. Программатор
Программатором был выбран самый банальный USBasp
Он простой и для USB, так что паяем
Печатку и прошивку и полезности брал здесь.
Получаем такую штуку
Дрова уже сидят в ОС, так что заморачиваться не нужно.
Если что не так
Теперь мы можем зашить простую программу в камень
Используем avrdude.
sudo avrdude -c usbasp -p t13 -U flash:w:Tiny.hex
где:
usbasp - это наш программатор (вводим avrdude -c ? чтобы узнать с какими программаторами мы можем работать, аналогично можно посмотреть камни)
t13 - наш камень (В даном случае Тинька13)
Tiny.hex - Файл прошивки
4. Прошиватор
Терминал это гуд, но иногда нужен и графический интерфейс.
Для avrdude есть такая замечательная программа AVR8 Burn-O-Mat
Скачиваем с сайта и ставим. Если возникнет косяк с установкой, то следует разобрать пакет и исправить номер версии, ну у собрать обратно.
Запускаем настройки.
В настройках выбираем путь к Аврчуваку и к его конфигу. У меня эти пути такие
/usr/bin/avrdude
/etc/avrdude.conf
Далее выбираем программатор и порт:
usbasp(USBasp,http://...)
Можно добавить дополнительние опции в поле additional options.
Соглашаемся. Теперь можно что-то и залить))
Выбираем тип нашего камня. Далее выбираем файлы Flash и EEPROM и жмем на запись.
Внизу будет виден ход работы.
Если пишет что устройство не отвечает, проверьте чтобы все было подключено.
Для настройки фьюзов нажимаем кнопку Fuses настраиваем и записываем.
Не забываем проверить инверсные или нет!!!
На этом собственно все. Удачи в нашем нелегком деле


