Использование Arduino в проектах по мехатронике — отличный шаг в мир встраиваемых систем. Arduino убирает уровень сложности, чтобы пользователи могли сосредоточиться только на написании кода. Но научиться прошивать код C непосредственно на микроконтроллере AVR — это хороший способ убрать слой абстракции и узнать, что происходит под капотом этих плат Arduino. И это именно то, что я расскажу в этом коротком уроке.

По сути, есть 3 основных шага, чтобы превратить ваш код, написанный на C, во что-то, что могут понять чипы AVR, и они следующие:

  1. Напишите код C в текстовом редакторе по вашему выбору.
  2. Скомпилируйте код C с помощью компилятора avr-gcc в машинный код.
  3. Используйте AVRDUDE и аппаратный флеш-программатор, чтобы записать машинный код на чипы AVR.

Я рассмотрю описанные выше шаги более подробно и предоставлю набор инструментов, который можно быстро настроить, чтобы вы могли сразу приступить к программированию своих микроконтроллеров.

Напишите код C в текстовом редакторе по вашему выбору.

Если вы привыкли программировать в Arduino IDE, вы знаете, что это «C-подобный» язык. Arduino устраняет трудности программирования на C, создавая простые в использовании функции, поэтому разработчикам кода не нужно беспокоиться о реализации этих функций, и они могут обращаться с ними как с черным ящиком.

Если вы новичок в программировании встраиваемых систем на C, для этого есть множество ресурсов. Вот некоторые из моих любимых:

Некоторые из самых популярных текстовых редакторов для написания кода на C:

  • Код Visual Studio
  • Блокнот++
  • Блокнот программиста

Скомпилируйте код C в машинный код.

После того как вы написали код C, который, по вашему мнению, будет работать, следующим шагом будет преобразование его в машинный код, который микроконтроллер сможет понять и запустить. Это делается с помощью компилятора. Если вы разрабатывали приложения для своего компьютера, вы можете использовать компилятор под названием gcc (GNU Compiler Collection). Для разработки приложений, специфичных для AVR, нам нужно использовать avr-gcc, доступный здесь.

По приведенной выше ссылке загружается WinAVR и имеется набор инструментов разработки программного обеспечения для программирования микросхем AVR, включая текстовый редактор, компилятор и AVRDUDE, которые будут использоваться позже.

WinAVR устарел и больше не обновляется, но он по-прежнему работает с различными чипами AVR производства Atmel.

Используйте AVRDUDE и аппаратный программатор для прошивки чипов AVR.

Следующий шаг включает в себя подключение контактов ISP (внутрисистемное программирование) к чипу AVR. Это можно сделать с помощью макетной платы. В книге по программированию AVR есть довольно хорошая схема того, как их соединить. Простой и удобный в использовании ISP программатор можно приобрести на Amazon. В зависимости от используемого программатора интернет-провайдера могут потребоваться дополнительные драйверы.

После того, как вы подключили микроконтроллер к ISP, следующим шагом будет прошивка вашего машинного кода, сгенерированного компилятором avr-gcc, на микросхему AVR. Это делается с помощью AVRDUDE, который уже должен был быть установлен с помощью WinAVR на предыдущем шаге.

В следующей статье я приведу пример кода о том, как написать и прошить ваши микросхемы AVR, используя уже установленные инструменты и приобретенное оборудование.