Перепрошивка бутлоадера в Arduino на optiboot

В это статье расскажу как перепрошить родной ардуиновский bootloader (загрузчик) на альтернативный — Optiboot. Мне это понадобилось для организации, в своих проектах на микроконтроллерах, сторожевого таймера (watchdog), так как в стандартном bootloader ватчдог не реализован и при попытке активировать в коде ватчдог наша ардуина уйдет в бесконечный ребут.

И так, для перепрошивки бутлоадера нам потребуется программа Arduino IDE, плата Arduino в которой будем перешивать бутлоадер и программатор, например USBasp.

Запускаем Arduino IDE и идем в меню ФайлНастройки

Arduino optiboot

 и вставляем  строку https://github.com/Optiboot/optiboot/releases/download/v6.2/package_optiboot_optiboot-additional_index.json

в поле — Дополнительные ссылки для менеджера плат. Ссылку на свежую версию optiboot берем на этой странице.

Arduino optiboot

Сохраняем настройки и идем в меню Инструменты  Плата — Менеджер плат:Arduino optiboot

находим в списке Optiboot и жмем кнопку установить.

Arduino optibootПосле чего в списке доступных плат появляется список плат поддерживаемый Optiboot.

Arduino optiboot

Для загрузки загручика выбираем необходимую плату/ микроконтроллер, частоту кварца и  порт к которому подключена наша плата Arduino.
Arduino optiboot

Выбираем из списка наш программатор, в данному случае USBasp и  жмем кнопку Записать загрузчик.

Arduino optiboot

Все, можно смело использовать watchdog в своих проектах.

Подписаться
Уведомлять
guest

12 комментариев
Старые вначале
Новые вначале По голосам
Межтекстовые Отзывы
Посмотреть все комментарии
mk900
mk900
6 лет назад

Правильно ли я понял, что для загрузки optiboot в Arduino UNO программаторы не нужны? Имеет ли при этом значение, какой программатор выбран в меню? У Вас на скриншоте там выбран JTAGICE3 (ISP mode). Это правильно? Что-то у меня при таких установках ничего не получается, пишет
Ошибка при записи загрузчика.
avrdude: jtag3_open_common(): Did not find any device matching VID 0x03eb and PID list: 0x2110, 0x2140

avrdude done. Thank you.

Подскажите пожалуйста, что я делаю не так?
Спасибо!

mk900
mk900
6 лет назад
Ответить на  instalator

Ничего не получается.
Какой программатор при этом должен быть выбран в меню?
Я перепробовал все — безрезультатно.
Но используя вторую плату Ардуино Уно, прошитую как Arduino ISP и выбирая программатор Arduino as ISP, все получается и Optiboot нормально прошивается.
Так что я не понимаю или делаю не так?

Sergey
Sergey
5 лет назад

А как «пометить» что ардуина 8мгц и питание 3в?

Гость
Гость
5 лет назад

«так как в стандартном bootloader ватчдог не реализован» — можете пояснить, что значит не реализован? Какое отношение к WDT имеет загрузчик?

Максим
Максим
4 лет назад

Не написано в статье самое главное — как подключать Usbasp к дуньке.

Николай
Николай
3 лет назад

Спасибо большое,два дня не мог вогнать загрузчик,все перепробовал твоя статья помогла ,еще раз большое спасибо!!!

Alex
Alex
2 лет назад

Почему у Вас на предпоследнем рисунке программатор Atmel JTAGICE3 а вот на последнем USBasp?

Сергей
Сергей
2 лет назад
Ответить на  Alex

Между ними написано :
«Выбираем из списка наш программатор, в данному случае USBasp…»

Сергей
Сергей
2 лет назад

спасибо. все сдела по статье- все прошилось и заработало.

12
0
Поделиться своими мыслямиx