Feel Good.

19 января 2015

Hello world для ATmega328 + avr-gcc + avrdude (USBasp)


Хочу поделиться своим опытом знакомства с микроконтроллером ATmega328. Но сначала небольшое отступление.
Наверное уже все читали или уж точно слышали про Arduino. На мой взгляд, Arduino хорошая платформа для ознакомления с миром микроконтроллеров. Низкий порог вхождения и богатый набор различных библиотек, несомненно, является ключевым достоинством этой платформы. Под словом платформа я понимаю само устройство и штатная IDE с набором библиотек. Но к сожалению, ради обеспечения низкого порога вхождения штатная IDE вынуждена многое делать неявно для программиста. Например, процесс компиляции и прошивки, или даже формирование конечного main-файла с подключением всех include. Именно эти неявные действия и создают пробелы в знаниях при изучении платформы.
Итак, наши цели:
  1. Написать программку на чистом C, которая будет мигать светодиодом (aka "Hello world!" только для МК)
  2. Собрать прошивку для МК
  3. Настроить fuses bits нашего МК
  4. Прошить МК
Естественно все действия постараемся проделать из-под консоли.