
Наша последняя книга Эллиота Уильямса «Make: AVR Programming» теперь доступна в Maker Shed (44,99 доллара США) и в других книжных магазинах по всему миру.
Книга Эллиота, ориентированная на проекты, позволяет вам начать либо с Arduino на базе AVR, которая, вероятно, уже есть в вашем наборе инструментов, либо с чистого чипа AVR и программатора. Чтобы получить представление о книге, ознакомьтесь с отрывком, который мы опубликовали. Начните читать первые пару страниц ниже и загрузите Make: Программирование AVR, Глава 2, Программирование AVR, когда будете готовы прочитать остальное.
В этой главе вы настроите все необходимое для кодирования, компиляции и прошивки ваших программ в чипы AVR, которые сейчас стоят у вас на столе. Для этого вам понадобится некоторое оборудование (программатор флэш-памяти) и программное обеспечение (редактор кода, компилятор C и программа, которая будет взаимодействовать с аппаратным программатором флэш-памяти). Наконец, вам нужно будет подключить несколько проводов от программатора к чипу AVR и настроить источник питания.
В этом процессе есть много разных подходов, которые приведут вас к вершине одной и той же горы. В конечном счете, на каком-то абстрактном уровне все подходы по сути одинаковы, но мы остановимся на некоторых деталях некоторых наиболее популярных вариантов, чтобы было понятнее.
Что касается аппаратного обеспечения, большинство программаторов флэш-памяти работают примерно одинаково, и различия не будут сводиться к чему-то большему, чем несколько настроек файла, который вы будете использовать снова и снова. В конце концов, флеш-программисты - это всего лишь USB-устройства, которые отправляют байты вашего кода на чип AVR. Что касается программного обеспечения, разные пакеты разработки будут выглядеть по-разному, но в конечном итоге все сводится к редактированию кода, его компиляции и последующей отправке программисту аппаратного обеспечения.
Что вам нужно
Для этой главы вам понадобится следующее:
- Беспаечный макет.
- Перемычки для подключения к макетной плате.
- Программист интернет-провайдера.
- ATmega168, 168A, 168P или 168PA.
- Светодиод (любого цвета) и резистор соответствующего размера: 200–500 Ом.
Источник постоянного тока 5 В (если не предоставлен вашим интернет-провайдером); батарейный блок 4xAA
в любом случае здорово.
- Один конденсатор емкостью 100 нФ (0,1 мкФ) для сглаживания напряжения питания АРН.
Программирование AVR
Слова «программа», «программист» и «программирование» перегружены в мире микроконтроллеров. Мы (как программисты) пишем программы, компилируем их, а затем используем флэш-программатор для программирования AVR, который затем запускает нашу программу. Тьфу! Давайте пройдемся по самой процедуре и посмотрим, что на самом деле происходит.
Связка инструментов
Это долгий и извилистый путь от кода, который вы вводите в редакторе, до чипа на вашем столе, который включает и выключает свет. Чтобы перейти от напечатанных букв на экране компьютера к работающему электронному оборудованию, требуется цепочка инструментов, которая, как и ожидалось, называется цепочкой инструментов!
Обзор цепочки инструментов
- Напишите исходный код в редакторе.
- Превратите исходный код в машинный код с помощью компилятора (и связанных с ним программных инструментов).
- Используя программное обеспечение для загрузки на вашем большом компьютере и аппаратный флэш-программатор, отправьте машинный код на целевой чип AVR, который сохранит инструкции в своей энергонезависимой флэш-памяти.
- Как только флэш-программатор завершит работу, чип AVR перезагрузится и начнет выполнять ваш код.
На рисунке 1 «Цепочка инструментов программирования AVR» показаны основные этапы разработки прошивки AVR, а также инструменты, которые вы будете использовать на каждом этапе.
Первым шагом в вашей цепочке инструментов будет текстовый редактор или любой другой инструмент, в котором вам удобнее писать код. Для пользователей Linux gedit очень удобен. На платформах Windows вы, вероятно, обнаружите, что редактор Programmer’s Notepad, входящий в состав WinAVR, будет работать довольно хорошо, но я предпочитаю бесплатную программу Notepad++. Многие программисты Mac доверяют TextMate. Если у вас уже есть любимый редактор кода, смело используйте его. Хорошие функции, на которые стоит обратить внимание, включают подсветку синтаксиса, автоматическое форматирование и отступы, сопоставление круглых скобок и, возможно, даже свертывание кода. (Уберите копию Microsoft Word - это не то, что мы здесь ищем.)
Продолжайте читать