КОРЗИНА
магазина
8 (499) 500-14-56 | ПН. - ПТ. 12:00-18:00
ЛЕСНОРЯДСКИЙ ПЕРЕУЛОК, 18С2, БЦ "ДМ-ПРЕСС"

Запись загрузчика в Arduino

Общие сведения

Загрузчик (от англ. bootloader) — это программа, которая позволяет загружать код в Arduino по USB без использования программатора. Однако, в некоторых случаях загрузчик может быть поврежден, например при некорректной прошивке или в результате аппаратного сбоя.

Восстановить, а точнее записать новый загрузчик в Arduino можно с помощью другой платы Arduino в роли программатора. Для удобства приведем нейминг плат:

  • Плата программатор — контроллер Arduino через который будем зашивать загрузчик в плату исполнитель. Для примера в роли программатора будем использовать Arduino Uno. Список поддерживаемых плат Arduino в роли программатора мы написали ниже.
  • Плата исполнитель — контроллер Arduino в который будем зашивать загрузчик. Предположим у вас слетел загрузчик на плате Arduino Nano.
Arduino Bootloader Info 1

Список поддерживаемых плат в роли программатора

Данная статья актуальна только для плат Arduino архитектуры AVR и их клонов. Для всех других семейств, например ARM или ESP, необходимо искать информацию в других источниках.

Что понадобится

Приведём полный список железа для записи загрузчика в Arduino.

Порядок действий

  1. Скачать и установить среду программирования Arduino IDE.
  2. Подготовить плату Arduino в роли программатора.
  3. Соединить плату программатор с исполняемой платой.
  4. Записать загрузчик.

Скачивание и установка Arduino IDE

Для старта скачайте и установите среду программирования Arduino IDE. Весь процесс описан в нашем руководстве по Arduino IDE.

Подготовка платы программатора

Для продолжения нужно преобразовать выбранную плату Arduino в программатор.

  1. Подключите платформу Arduino Uno к компьютеру через кабель USB. При успешном подключении должен загореться индикаторный светодиод питания.
  2. Arduino Bootloader Prepare Programmer 1
  3. Откройте диспетчер устройств Windows.
  4. Arduino Bootloader Prepare Programmer 2
  5. В диспетчере устройств раскройте вкладку Порты (COM и LPT), идентифицируйте среди устройств плату программатор и запомните номер назначенного COM-порта. В нашем случае это Arduino Uno с COM-портом номер 9.
  6. Arduino Bootloader Prepare Programmer 3
    В зависимости от модели платы Arduino Uno, а точнее от типа её USB-UART преобразователя, название устройства может быть разное. Приведём самые часто встречающие варианты: Arduino Uno, CH340, FT232.
    Если при подключении контроллера Arduino в среде Arduino IDE не появляется новый COM-порт, установите драйвер в зависимости от чипа USB-UART преобразователя:
  7. Откройте среду программирования Arduino IDE.
  8. Arduino Bootloader Prepare Programmer 4
  9. В Arduino IDE выберите модель платы: ИнструментыПлатаArduino AVR BoardsArduino Uno
  10. Arduino Bootloader Prepare Programmer 5
  11. В Arduino IDE выберите COM-порт платы: ИнструментыПортCOMx, где x — номер порта платы.
  12. Как узнать номер COM-порта платы Arduino, мы смотрели пару шагов выше в диспетчере устройств.

    Arduino Bootloader Prepare Programmer 6
  13. В Arduino IDE выберите тип программатора: ИнструментыПрограмматорAVRISP MKII
  14. Arduino Bootloader Prepare Programmer 7
  15. В Arduino IDE откройте скетч для преобразования платы Arduino в программатор: ФайлПримеры11.ArduinoISPArduinoISP
  16. Arduino Bootloader Prepare Programmer 8
  17. Откомпилируйте и загрузите скетч в плату программатор. Нажмите на иконку . Вы должны увидеть процесс компиляции скетча с последующей загрузкой в плату.
  18. Arduino Bootloader Prepare Programmer 9
  19. Если все шаги были пройдены правильно, на плате программаторе начнут мигать светодиоды RX и TX. А при завершении процесса — в окне статуса Arduino IDE должна появиться надпись Загрузка завершена.
  20. Arduino Bootloader Prepare Programmer 10

Соединение платы программатора с исполняемой платой

Загрузчик прошивается через внутрисхемный разъём ICSP на шесть контактов. На каждой плате Arduino с микроконтроллером на архитектуре AVR есть разъём ICSP в виде контактных колодок PLS или отверстий под пайку. Нумерация первого контакта отмечена точкой на плате.

Arduino Bootloader Wiring Programmer 1

Рассмотрим распиновку разъёма ICSP:

Arduino Bootloader Wiring Programmer 2
Номер контакта Имя контакта
1 MISO
2 VCC
3 SCK
4 MOSI
5 RESET
6 GND

Для продолжения, выполните шаги ниже:

  1. Подготовьте плату программатор Arduino Uno и плату исполнитель Arduino Nano.
  2. Arduino Bootloader Wiring Programmer 3
  3. Соедините плату программатор Arduino Uno с платой исполнитель Arduino Nano, согласно таблице и иллюстрации. Для коммуникации понадобятся макетные провода «папа-папа» и «папа-мама».
  4. Arduino Bootloader Wiring Programmer 4
    Плата программатор Плата исполнитель
    ICSP пин №1 ICSP пин №1
    ICSP пин №2 ICSP пин №2
    ICSP пин №3 ICSP пин №3
    ICSP пин №4 ICSP пин №4
    Колодка Arduino пин №10 ICSP пин №5
    ICSP пин №6 ICSP пин №6
  5. Подключите плату программатор к компьютеру через кабель USB. При успешном подключении должны загореться индикаторные светодиоды питания на плате программаторе и плате исполнителе.
  6. Arduino Bootloader Wiring Programmer 5

Запись загрузчика

Плата программатор настроена, схема собрана, можно переходить к записи загрузчика.

  1. Откройте среду программирования Arduino IDE.
  2. Arduino Bootloader Burn 1
  3. В Arduino IDE выберите модель платы исполнителя: ИнструментыПлатаArduino AVR BoardsArduino Nano
  4. Arduino Bootloader Burn 2

    В Arduino IDE выберите контроллер платы исполнителя: ИнструментыПроцессорATmega328P

    Arduino Bootloader Burn 3
  5. В Arduino IDE выберите COM-порт платы программатора: ИнструментыПортCOMx, где x — номер порта платы.
  6. Как узнать номер COM-порта платы Arduino, мы рассмотрели в разделе «подготовка платы Arduino в роли программатора».

    Arduino Bootloader Burn 4
  7. В Arduino IDE выберите тип программатора: ИнструментыПрограмматорArduino as ISP
  8. Arduino Bootloader Burn 5
  9. Плата программатор и исполнитель настроены — можно записывать загрузчик. В Arduino IDE выберите: ИнструментыЗаписать загрузчик
  10. Arduino Bootloader Burn 6
  11. Если все шаги были пройдены правильно, на плате программаторе начнут мигать светодиоды RX и TX. При завершении процесса — в окне статуса Arduino IDE должна появиться надпись Запись загрузчика завершена.
  12. Arduino Bootloader Burn 7
  13. Отключите плату программатор от USB. А затем разберите схему между платой программатором Arduino Uno и платой исполнителем Arduino Nano. На этом этапе запись загрузчика завершена и можно использовать плату исполнитель как отдельное устройство.

Ресурсы

Мы также рекомендуем к чтению ссылки на статьи, документации и другие вспомогательные материалы по платформе Arduino.

Инструкции




Обсуждение

Гарантии и возврат Используя сайт Вы соглашаетесь с условями