Optiboot - це найменший доступний завантажувач.
Але є набагато більш потужний (із вбудованою консоллю для тестування обладнання, перевірки вмісту оперативної пам’яті та флеш-пам’яті тощо) завантажувач із більш розвиненим та надійним протоколом зв’язку stk500v2 між avrdude та завантажувачем AVR.
Я використовував його на ATmega2560 та ATmega1284p. Він працює як для 3-байтового, так і для 2-байтного лічильника MCU.
У мене на Sourceforge є версія завантажувача STK500v2 .
Цей завантажувач заснований на завантажувачі Peter Fleury STK500v2, оновленому Марком Спроулом. Я вніс зміни, щоб підтримувати його дошкою Goldilocks (ATmega1284p).
Основна особливість полягає у використанні протоколу STK500v2 для завантаження флеш-зображення в Arduino. Цей протокол є більш надійним і дає кращі можливості помилок, ніж протокол avr109 . Окрім того, у світі Arduino протокол avr109 називається "Arduino", оскільки він перемикає DTR (для скидання плати та автоматичного введення завантажувача), а протокол STK500v2 у світі Arduino називається "Проводка". причина.
Завантажувач Fleury / Sproul STK500v2 призначений для роботи з ATmega2560, який має 3-байтний регістр програм, через більший розмір Flash. Але він також підтримує нормальні 2-байтні дошки (все інше насправді).
Для дощок з великою кількістю Flash (наприклад, Goldilocks 1284p) є апаратний монітор, який можна використовувати для запиту Flash, SRAM та обладнання; Ви можете перевірити з'єднання без додаткового коду та перевірити фактичний вміст Flash та EEPROM. Оскільки 1284p підтримує 2 USART, я додав можливість налагодження на USART1 , щоб процес завантаження через USART0 не порушувався.