Optiboot
Подробнее
- Создатели
- Peter Knight, Bill Westfield
- Тип
- Загрузчик
- Лицензия
- GPL
- Исходный код
- github.com/Optiboot/optiboot
512-байтный загрузчик, позволяющий программировать Arduino по USB-кабелю без какого-либо дополнительного оборудования.
Его предшественник съедал два килобайта из 32 у ATmega328P. Optiboot справляется с той же задачей вчетверо компактнее и вернул скетчу 1,5 КБ, чего хватило, чтобы с 2010 года он стал загрузчиком по умолчанию на Arduino Uno. Он говорит на подмножестве протокола STK500 от Atmel на скорости 115 200 бод.
Главное удобство спрятано вне чипа: линия DTR USB-последовательного преобразователя соединена со сбросом через конденсатор, так что открытие порта перезагружает плату. Optiboot недолго ждёт данных, а иначе передаёт управление приложению. Он также проверяет причину сброса: после сброса от сторожевого таймера он сразу прыгает в приложение, и прошивка, перезагружающая себя намеренно, не застревает в ожидании загрузки.