Заклинания по работе с бутлоадерами для нанки.
(Возможно повтор части ранее уже выложенного...)
Исходное оборудование и софт —
ардуиноIDE 1.8.9 (или 1.8.13);
программатор arduinoISP сделанный из ардуино-нано (стандартная конфигурация с прошивкой из примеров интегрированных в IDE по умолчанию);
софт-оболочка avrdudeshell
(
http://matrex-notes.blogspot.com/2015/0 ... tmega.html );
самодельный программатор SiProg ( или любой ISP поддерживаемый avrdudeshell );
платка ардуино-нано:
набор соединительных кабелей — USB для ПК и ISP для программаторов.
Платка ардуино нано поступает в продажу с разными вариантами бутлоадера.
Один из вариантов имеет название (в настройках платки) "Atmega328P (old bootloader)” (совместим с бутлоадером ардуино-про-мини при настройках про-мини для 5В 16МГц).
Второй «более новый» работает с настройкой "Atmega328P".
Отличить их можно по коротким вспышкам на свежекупленной/свежезагруженной платке, где еще никакого скотча не загружено (только бутлоадер).
У платки с old bootloader при подаче питания видны короткие вспышки светодиода, весьма похожие на работу теста "BLINC”.
А у «нового» никаких дополнительных «замигаек» наблюдаться не будет.
Теперь о вариантах прошивки через IDE...
Обычная загрузка дает только загрузку кода скотча, область бутлоадера не затрагивается.
Загрузка "через программатор" — загружает только код скотча — ни фузы ни бутлоадер не изменяются!
Это важно для случая, когда с помощью только IDE пытаемся прошить «полную самоделку» на основе отдельно купленного МК, имеющего фузы «по умолчанию» при продаже.
Прошивку конкретного набора фузов автоматически дает только вкладка
«инструменты → записать загрузчик».
Однако и сам загрузчик и набор фузов будет соответствовать текущим установкам в окошке
«инструменты → плата arduino-nano → процессор.....» (или иным полным параметрам платки-платформы).
А уже далее мы можем использовать собственно прошивку через USB-COM адаптер самой нанки.
Есть и дополнительные варианты прошивок из IDE или при помощи внешнего программатора и сторонней софт-оболочки.
Однако в этих случаях автоматическая установка фузов НЕ ПРОИЗВОДИТСЯ — записывается только код скотча (в комплекте с бутлоадером или без оного).
Прошивка через ардуиноISP программатор из среды ардуиноIDE:
(подключенный вместо штатного USB-com нанки).
Собственно ПК — ардуиноISP на том же USB разъёме, где ранее стояла нанка — ардуино-нано присоединена к ардуиноISP через 6-контактный ISP разъём.
Прошивка выполняется из ардуино IDE :
“скетч → загрузить через программатор"
загружается только код скетча
бутлоадер и фузы не изменяются.
Прошивка из внешней софт-оболочки сторонним ISPпрограмматором.
Собственно сам файл прошивки генерируется ардуиноIDE при нажатии
«скетч → экспорт бинарного файла» и результат в виде двух файликов (один с бутлоадером, другой без оного) размещается в папке проекта.
Далее закрываем IDE, запускаем наш комплект (софтинка-железко) «внешнего программатора» и прошиваем соответствующий файлик.
Однако тут нас ожидает свинтус — если МК «свежекупленный» или «уже ранее бывший в употреблении» придется вручную устанавливать фузы согласно... «где б поискать»...
Посему в случае с «сторонним МК» и при серьёзном разрушении вследствие экспериментов следует выполнить предварительное полное стирание кристалла и установку фузов «по умолчанию» (согласно даташита на МК) с помощью «внешнего программатора»,
затем перейти в ардуино IDE и
сначала выполнить операцию установки требуемой конфигурации в свойствах платки
«инструменты → плата «ардуино нано» → тип МК(бутлоадера)»
далее выполнить саму прошивку вышевыбранного варианта загрузчика (идет вместе с прошивкой фузов) при помощи ардуиноISP программатора из ардуиноIDE:
“инструменты → записать загрузчик".
После этих операций в МК установлены и бутлоадер и набор фузов для выбранной конфигурации МК.
Теперь или используем МК с бутлоадером или с помощью «внешнего программатора» стираем бутлоадер не трогая фузы. Это уже по собственному усмотрению...
Еще одно дополнительное замечание -
платка нанки или программатора должна быть подключена к ПК ДО запуска ардуиноIDE.
Т.е. "заклинания" проводятся пошагово при полном закрытии и новом запуске IDE после каждого шага.
"подсоединил железо - запустил софт - выполнил операцию - закрыл софт - отсоединил железо" и повторяем все заново для следующего шага.
