Arduino bootloader. Arduino загрузчик. Прошивка загрузчика arduino

Arduino bootloader. Arduino загрузчик. Прошивка загрузчика arduino

Сегодня разговор будет про arduino bootloader и как его записать используя Arduino ide. Есть несколько способов прошить загрузчик в Ардуино. Я покажу самый простой с помощью другой платы Ардуино. Для того чтобы прошить загрузчик bootloader в arduino надо соединить две платы как на схеме. Сделать одну ардуино программатором а вторую подготовить для записи загрузчика bootloader. Так как у меня arduino nano old bootloader, поэтому такой загрузчик я и буду устанавливать. Если у вас bootloader arduino uno, то вы можете установить его.
Снимая видео про HEX файлы я случайно удалил bootloader (загрузчик) микроконтроллера. И Ардуино перестала прошиваться. Вот и тема для следующего видео неожиданно появилась. Рано или поздно, но такая проблема появится у каждого. Так, что лучше знать как с этим справиться. Сегодня я расскажу как можно загрузить bootloader даже если в Ардуино ничего нельзя загрузить.
Есть несколько способов. Я сегодня остановлюсь только на одном. Прошивка с помощью другой платы Ардуино. У меня в наличии имелась ещё одна Arduino Nano вот её загрузчик я и буду прошивать на убитую Ардуино. Кстати тоже Nano.
Сначала посмотрим что с моей не рабочей платой. При попытке загрузить скетч Blink вроде все проходит без ошибок. Плата вроде как прошивается. А вот при попытке загрузить что-нибудь другое, другой пример, появляется вот такая вот ошибка. Из этого следует, что проблема с загрузчиком. Пробовал при загрузке нажимать resset, говорят иногда помогает. Но мне не помогло. Так, что было принято решение перезаписать загрузчик микроконтроллера. 

Заходим в Диспетчер устройств. Убеждаемся, что у нас ничего не слетело. Драйвера стоят правильно, плата определилась и com port показан. Ещё раз пробуем для полной уверенности. Если чуда не случилось, то переходим к прошивке.

Использование Arduino в качестве программатора
Берём хорошую плату Ардуино. Ту у которой рабочий загрузчик. Будем использовать её вместо программатора. Открываем Arduino IDE. Проверяем, что все установлено верно. Плата, загрузчик и порт.
Идём в примеры и выбираем ArduinoISP. Этот пример идёт по умолчанию со средой разработки. Прошиваем Arduino. И с этого момента эта плата становится полноценным программатором. Скетч довольно большой и что он делает я не изучал. Главное, что он выполняет свою роль.

Теперь надо соединить обе платы. Это совсем просто. Посмотрите на схему. Если у вас УНО или НАНО, 
Подключаем так. 13 к 13, 12 к 12, 11 к 11. А вот дальше небольшое различие. 10 пин платы загрузчика соединяем с Resset платы без загрузчика. И соединяем +5 вольт и Земли на обоих платах. 

Если у Вас Mega, то смотрите в документацию к Меге.
Подключаем правильную Ардуину к компьютеру USB шнуром. Ещё раз проверяем, чтобы всё было правильно установлено. Плата, загрузчик, порт. После этого в пункте меню Программатор выбираем Arduino as ISP и нажимаем Записать згрузчик. Иногда с первого раза загрузчик не устанавливается. Просто нажимаем ещё раз.

Теперь проверяем, что мы наделали. Разъединяем обе платы. Подключаем USB шнурком ту что была с битым загрузчиком. Заходим в меню Программатор и меняем вот на это значение. 
Теперь загружаем какой-нибудь пример.
Например? выведем значение с аналогового порта. А для чистоты эксперимента, напишем что-нибудь своё.
Прошиваем и смотрим что там в com port. 
Видим, что наша Ардуина прошилась, и выводит то что нужно.
Значит мы починили загрузчик.
 

Дополнительные материалы по теме
Как загрузить hex файл в ардуино Arduino hex avr
Загрузка HEX в AVR Ардуино
Arduino bootloader. Arduino загрузчик. Прошивка загрузчика arduino