Как сделать из Arduino программатор: 2 способа

прошивка Ардуино Другое

Описание

Для того чтобы сделать полноценный программатор нам нужно знать что такое ISP – это внутрисхемное программирование. ISP даёт возможность программировать микроконтроллер, установленный в устройство. Есть 2 базовых подхода программирования:

  1. С помощью ISP программатора. Тут всё работает напрямую через память микроконтроллера, он сам размещает информацию прошивки по нужным адресам.
  2. С помощью bootloader. Это загрузчик, программа которая берёт на себя функционал программатора. Загрузчик проверяет выполнение определённых условий для перехода в режим программирования. Если условия выполняются, то работает основная программа, а если нет, то принимает код по протоколу UART и записывает его в Флэш память.2

UART – важная особенность Ардуино, она позволяет программировать через USB, без стороннего программатора.

Начнём со второго, этот способ применим на платах при помощи USB, благодаря этому возможно подключить плату к ПК и загрузить код. Данный способ даёт возможность загрузить данные только во flash, возможности ISP программатора тут будут недоступны. Бывают платы без встроенного бортового USB, такие как pro mini. В таких случаях потребуется внешний usb преобразователь. Подключение происходит следующим образом: DTR>DTR; RX>TX; TX>RX; GND>GND; VCC>VCC.

DTR – data terminal ready; RX,TX – пины; GND – земля; VCC – положительный источник питания.

Перейдём к первому, ISP программаторы. Приобрести их можно по низкой цене с Китая, подключается довольно просто: подключаем к ПК, ставим нужные драйвера, зайти в Arduino IDE и выбрать в Инструментах наш программатор.4 6

Иногда возникают разного рода проблемы, но большинство из низ можно решить простыми действиями по типу “вытащить вставить”. Поменяйте порт или поставьте другой драйвер.

Arduino as ISP

Практически любая плата может быть ISP программатором, для этого нужен только скетч ArduinoISP. Откройте скетч “файл > примеры > 11.ArduinoISP > ArduinoISP”. После этого ваша плата стала ISP программатором. Присоединяем к ней другую Arduino, просто чип. В Arduino IDE ставим Arduino as ISP по пути Инструменты > Программатор. Теперь можем загрузить загрузчик или фьюзы. Чтобы наш программатор не сбрасывался во время загрузки – ставим конденсатор ёмкостью ~10 мкФ между RST и GND.0 11

Прошьём загрузчик в Arduino IDE

Выбрав ранее плату и загрузчик, её можно скачать с сайта: www.arduino.cc Arduino IDE сам сделал “активным” нужный загрузчик. Далее нажимаем “Записать” в “Инструментах” и этим нажатием мы прошиваем загрузчик, фьюзы, лок-биты, соответствующий выбранной плате и настройкам платы.  

Заключение

В завершение хочу сказать что программаторы – это важная входная часть Arduino. Это одно из базовых действий и его нужно уметь делать каждому кто хочет изучать и погружаться в Arduino.

Оцените статью
Информация об Ардуино
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я принимаю политику конфиденциальности.

  1. Vasya

    Для программирования ардуинки в ардуино isp нужно к какому разъëму подключаться? Если я подключусь как обычно через USB, то следущий скетч ведь стерëт предыдущий?

    Ответить