Перепрошивка загрузчика (bootloader) платы Arduino Pro Mini на Optiboot с использованием Arduino Mega 2560 в качестве программатора.
Необходимость в замене загрузчика возникла по причине отсутствия в оригинальной плате функционала сторожевого таймера (watchdog).
Нам потребуется
- Arduino Pro Miniна чипе ATmega328P которую мы будем перепрошивать
- Arduino Mega 2560 будем использовать в качестве программатора
- Optiboot сам загрузчик который мы будем прошивать
Подготовка среды разработки
- Заходим на GitHub проекта Optiboot жмем на “Clone or download”
- Переходим в каталог "\Мои документы\Arduino\" и создаем в нем ветку каталогов \hardware\optiboot\avr\
- Распаковываем скачанный архив. Находим каталог optiboot и переносим все его содержимое в ранее созданный каталог.
- В перенесенных файлах находим boards-1.6.txt переименовываем в boards.txt, старый файл boards.txt соответственно заменяется новым.
Запускаем срезу Arduino IDE
В меню Инструменты – плата – внизу должны появиться наши новые платы
Превращаем Arduino Mega 2560 в программатор
Жмем Файл – Примеры – ArduinoISP и у нас откроется скетч который превратит нашу плату Mega 2560 в программатор.
Подключаем Arduino Mega 2560 к компьютеру, выбираем соответствующую плату и прошиваем в него наш скетч.
После прошивки вновь заходим в меню Инструменты – программатор и выбираем Arduino as ISP
Соединяем платы между собой
- Arduino Mega 2560 выводы 50(MISO), 51(MOSI), 52(SCK), 53(SS) и 10(RESET)
- Arduino Pro Mini выводы 12(MISO), 11(MOSI), 13(SCK), 10(SS) и 29(RST), так же выводы питания GND и VCC
После того как мы все соединили в меню Инструменты жмем Записать загрузчик. Начинается процесс записи, по окончанию которого в плату будет записан новый загрузчик.
Теперь при работе мы должны выбирать плату «Optiboot on 32-pins cpus»