Обсуждаем контроллеры компании Atmel.
Ответить

помогите востановить загрузчик на nano 168pa

Вт янв 07, 2020 06:38:38

Обычная запись через среду Arduino выходит с ошибкой
Изображение
прошиваю через Arduino Uno
раньше восстанавливал прошивку загрузчика Nano 368 и 368Р без проблем
а тут говорят что проблема в РА которая отсутствует в среде ардуино
а как поправить никто не знает

Добавлено after 1 minute 56 seconds:
нано новые
на заводе залит блинк он работает
но что либо залить другое неполучается в неё

Добавлено after 2 minutes 32 seconds:
предлогали установить библиотеку miniCore якобы там уже прописаны 168РА
но и она бесполезна

Re: помогите востановить загрузчик на nano 168pa

Вт янв 07, 2020 10:31:23

1.8.10 Это самая последняя версия - работает только на 7ке и выше.
Наиболее удачная на сегодня 1.8.9 (с обновлениями).
Для нанки на 328 меге там два режима - обычный и old bootloader.
Относительно 168-й... Для проведения экспериментов в наличии нету - посему проверить не могу, возможно там чего-то и поменяли.
Типичный программатор для заливки имеющегося в IDE бутлоадера в адуринью - сделанный на основе нанки arduino ISP программатор.
(у меня он как раз из нанки на 168й сделан).
Ежли УЖЕ установлена версия 1.8.10 "откат" к предыдущей делать НЕ РЕКОМЕНДУЮ.
Легче переустановить бутлоадер в адуринке в соответствии с имеющейся в IDE версии.
Как вариант ознакомления с "методами готовки ардуинок" рекомендую просмотреть вот эту тему:
https://radiokot.ru/forum/viewtopic.php?f=62&t=156720
Там между "вечным флудом "о курице и яйце"" имеются рекомендации по работам с IDE и проекты с открытыми исходниками.
:beer:

Re: помогите востановить загрузчик на nano 168pa

Вт янв 07, 2020 14:03:08

там сообщений сума сойти

Re: помогите востановить загрузчик на nano 168pa

Вт янв 07, 2020 15:55:27

Однако это единственный материал по разбору АРДУИНО на Радиокоте.
8)

Re: помогите востановить загрузчик на nano 168pa

Вт янв 07, 2020 18:43:58

Di123, давайте создадим новый программатор:

На вашем рисунке открыт скетч ArduinoISP, проверьте что
#define RESET 10 // Use pin 10 to reset the target rather than SS
#define BAUDRATE 19200

Примерный путь C:\Users\Пользователь\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\programmers.txt

Добавляем в programmers.txt сверху строки
Код:
avrisp.name=AVR ISP_V2
avrisp.communication=serial
avrisp.protocol=stk500v1
avrisp.speed=19200
avrisp.program.protocol=stk500v1
avrisp.program.speed=19200
avrisp.program.tool=avrdude
avrisp.program.extra_params=-P{serial.port} -b{program.speed}
В настройках ArduinoIDE есть "Показать подробный вывод" поставьте галочку на "Загрузка".
Пере запускаем ArduinoIDE, у вас добавится новый программатор AVR ISP_V2.

Выбираем программатор AVR ISP_V2, com-порт, жмем "Записать загрузчик", там справа кнопочка "Копировать сообщение об ошибке" в файл и сюда.
СпойлерИзображение

Re: помогите востановить загрузчик на nano 168pa

Вт янв 07, 2020 20:06:49

В общем на стороннем сайте мы восстановили загрузчик но он восстановился со странностями
то есть встроенная библиотека в среду Arduino отказывалась загружать загрузчик
А через стороннюю библиотеку miniCore также отказывалась загружать по умолчанию при 16 мегагерцах , выставил 8 МГц экстернал она отказалась загружаться , потом выставил 8 мегагерц интернал она загрузилось , потом выставил 16 мгц она так же загрузилась
вторая плата наоборот отказалась загружаться при 8 мгц интернал но загрузилась при 8 мгц экстернал , далее уже загрузилась при 16 мгц
но теперь на эту плату я не могу ничего загрузить используя основную библиотеку среды Arduino
загружать в них теперь получается только через miniCore

Хотя эти же платы из этой же партии прекрасного загружаются как из основной библиотеки так из miniCore скейчи

Добавлено after 7 minutes 37 seconds:
не добавляется AVR ISP_V2

Изображение

Re: помогите востановить загрузчик на nano 168pa

Вт янв 07, 2020 20:24:32

Загрузчик компилируется либо под 8 мгц либо под 16 мгц, соответственно скомпилированный под 8 мгц не будет под 16 мгц работать.
Di123 писал(а):не добавляется AVR ISP_V2
в блокноте сохранить нажали? После этого пере запусктили ArduinoIDE?

Re: помогите востановить загрузчик на nano 168pa

Вт янв 07, 2020 22:01:24

Настройки в параметрах "сторонних плат" подбираются под конкретный вариант устройства.
При отличных от "стандарта" предпочтительна загрузка устройства через программатор - IDE генерирует два файла
с бутлоадером и без оного.
Меню СКЕТЧ
пункты
экспорт бинарного файла
и
загрузить через программатор

Собственно бутлоадер для конкретного вида плат IDE выбирает самостоятельно.
меню ИНСТРУМЕНТЫ
вкладка "записать загрузчик"
действует не для СОМ порта, а для подключенного на
меню ИНСТРУМЕНТЫ
вкладка "программатор:......" (где ставится применяемый внешний программатор, обеспечивающий ISP интерфейс (НЕ ШТАТНЫЙ СОМ бутлоадер!))

В принципе... Загрузку и конкретного файла и самого бутлоадера можно и с любого ISP программатора выполнить.
Однако, учитывая максимальную простоту изготовления arduinoISP программатора на основе той же самой нанки и интегрированного в IDE набора программных средств сочинять чего-то еще явно избыточное мероприятрие.
http://img.radiokot.ru/files/20529/1rhksqfr8n.GIF
http://img.radiokot.ru/files/20529/1rae0ypugh.JPG
http://img.radiokot.ru/files/20529/1rhl30i10u.JPG
http://img.radiokot.ru/files/20529/1rhl4isbms.jpg
http://img.radiokot.ru/files/20529/1rhl4mxu2c.jpg
http://img.radiokot.ru/files/20529/1rhl54xz67.jpg
http://img.radiokot.ru/files/20529/1rhl5cbtf9.jpg
Единственно там аккуратность и последовательность в "перерезке" дорожки делать надо.
В некоторых источниках рекомендуют ставить конденсатор повышенной емкости на линии сброса МК программатора.
Однако нагрузочная способность соответствующего вывода СН340 может быть недостаточна для импульсных токов перезарядки конденсатора (возможна деградация при длительной эксплуатации).
Сама "обрезка" должна выполняться после заливки в нанку соответствующего скетча, который имеется в:
меню ФАЙЛ ->
вкладка примеры ->
раздел arduinoISP-> arduinoISP
Сразу же после заливки скотча нанка готова к работе как программатор, НО...
штатный бутлоадер у нее внутри остается и соответственно мешает работе.
Для отключения функционала штатного бутлоадера и проводится "обрезание".
Полученное из нанки устройство (программатор) нужно отсоединить от компьютера, сделать "обрезку", заново подсоединить к ПК и перезапустить IDE,
предварительно установив на вкладке выпадающего меню программаторов arduino as ISP.
Далее нанка уже будет определяться и работать как программатор, соответственно вышеуказанной схеме.
Раскладка разъема макетки у меня не совсем "стандартна" - посему там и кабло переходное указано.
Прошивка с помощью arduinoISP выполняется при подсоединении кабеля с программатора на 6-контактный разъем той платки, которую необходимо перепрошить.
В принципе то же и где-то в https://radiokot.ru/forum/viewtopic.php?f=62&t=156720 ранее описано было...
8)
Замечания по работе с "сторонними платами", в частности
minyCore by MCUdude....
В некоторых есть явное указание на тип результирующего загрузочного файла - как будет проводиться компиляция с бутлоадером или без оного для "экономии места".
Поэтому при прошивке возможна ситуация - "прошил как ардуино, но почему-то бутлоадера там не оказалось?"
Так что за установками соответствующих параметров надо весьма внимательно смотреть.
В то же время стандартные платки IDE "по умолчанию" при компиляции включают бутлоадер в состав файла прошивки.
:roll:

Re: помогите востановить загрузчик на nano 168pa

Ср янв 08, 2020 05:49:11

Загрузчик компилируется либо под 8 мгц либо под 16 мгц, соответственно скомпилированный под 8 мгц не будет под 16 мгц работать.
Di123 писал(а):не добавляется AVR ISP_V2
в блокноте сохранить нажали? После этого пере запусктили ArduinoIDE?


как написали так и сделал
поставил на другом компе всё с нуля и тоже самое

https://yadi.sk/i/071dvbHzhnAP7w

возможно вы ошиблись в коде либо это делается по другому

Добавлено after 1 minute 16 seconds:
BOB51, я потом тоже предположил что теоретически новая библиотека добавила в него что то своё несовместимое с другими
если я правельно понял то прошив нано через minyCore на 20 мгц то она будет работать всегда на 20 мгц

Re: помогите востановить загрузчик на nano 168pa

Ср янв 08, 2020 09:56:59

если я правельно понял то прошив нано через minyCore на 20 мгц то она будет работать всегда на 20 мгц

При установленном на плате кварце 16 МГц, МК не может физически тактироваться на частоте 20 МГц. У ардуины фьюзы не меняют, а значит и тактовая частота остаётся неизменной.

Re: помогите востановить загрузчик на nano 168pa

Ср янв 08, 2020 10:24:55

Di123 писал(а):возможно вы ошиблись в коде либо это делается по другому
Возможно, у вас новая версия ArduinoIDE и там уже исправлено.
Новую версию ставить не буду, по этому сами programmers.txt ищите.
Возможный вариант где лежит: C:\arduino-1.8.1\hardware\arduino\avr\programmers.txt

Проверьте какой у вас miniCore установлен, у меня с ошибкой, на github правильный вариант,
опять же у меня валяется здесь C:\Users\Пользователь\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.0.0\
нужна папка bootloaders, в архив и сюда.

Re: помогите востановить загрузчик на nano 168pa

Ср янв 08, 2020 10:27:39

...
BOB51, я потом тоже предположил что теоретически новая библиотека добавила в него что то своё несовместимое с другими
если я правельно понял то прошив нано через minyCore на 20 мгц то она будет работать всегда на 20 мгц

"сторонние" платки (платформы или как их там еще обзывают) предназначены в основном для САМОДЕЛОК с общностью относительно применяемого МК и совместимостью по условным именам выводов с прототипом ардуино.
А вот относительно "отклонений в опциях" от прототипа... Там соответственно весьма много дополнительных материалов требуется вычитать... К сожалению... тех материалов в инете ПРАКТИЧЕСКИ НЕТУ.
Единственно некоторое понимание относительно кварца. И то НЕ ФАКТ.
Ибо на тактирование завязан довольно большой перечень функционала "референса".
А там (в модифицированных платформах) вариантов предостаточно - можно и встроить программную совместимость, можно и просто предделителем для избранного количества периферии частоту тактирования изменить.
Детального описания тех дополнений я не встречал. Как и "нюансов" по применению той же "синей пилюльки" и, в меньшей степени (там хоть чего-то собрать удалось) для ESP платформ.
Посему... Все, что касается отклонений от "стандартного" решения - КВАРЦ 16МГц
ТРЕБУЕТ ОБЯЗАТЕЛЬНОГО ПОЛНОГО ТЕСТИРОВАНИЯ НА МАКЕТЕ.
Не факт, что в выбранной любителем конфигурации такие "извраты" работать будут.
Другое дело, если любитель имеет достаточно высокую квалификацию в области программирования на Си (хотя бы)...
НАЧИНАЮЩИМ и тем, кто не имеет желания "глубоко закопаться" лезть в те дебри при рутинных работах я не рекомендую.
При корректной разработке и постановке задачи ВПОЛНЕ ДОСТАТОЧНО того, что в адуринке заложено.
Исключение - работа с высокоскоростными аппаратными протоколами микроLAN и обработчиком "вумных светиков" семейства WS2812 - там пользуемся "чужими" библиотеками аппаратных драйверов.
:beer:

Насчет "переустановки" имеющейся версии IDE...
Еще раз ПЕРДУПРЕЖДАЮ
удаление и/или переустановка без удаления скрытых каталогов БЕСПОЛЕЗНА.
А лезть в те "скрытые" при малом опыте работы с ПК весьма опасно.
8)

если я правельно понял то прошив нано через minyCore на 20 мгц то она будет работать всегда на 20 мгц

При установленном на плате кварце 16 МГц, МК не может физически тактироваться на частоте 20 МГц. У ардуины фьюзы не меняют, а значит и тактовая частота остаётся неизменной.


НЕВЕРНОЕ СУЖДЕНИЕ.
В "сторонних платформах" фузы таки меняются под установленную в окне
инструменты -> плата....
конфигурацию...
Другое дело каким образом это выполняется - добавкой в бутлоадере или изменениями в результирующем коде - разбор требует
"спеца-глубококопателя".
Посему... особо туда совать нос, не ставя задачей писать программную поддержку собственноручно разработанной платформы как-то особого желания нету...
8)

Re: помогите востановить загрузчик на nano 168pa

Ср янв 08, 2020 11:00:55

Пойдем старым способом

Скачиваете Avrdudeprog, можно отсюда
Подключаете к компу платку куда залит скетч ArduinoISP, к этой платке подключаете по SPI (MOSI, MISO, SCK) платку с 168РА, не забудьте резет 168РА соединить с pin 10 ArduinoISP и подать питание на платку с 168РА.
Выбираете целевой контроллер ATmega168PA,
Программатор AVR_ISP, порт на котором висит ArduinoISP
Где "Калибровочные ячейки генератора" нажимаете кнопку "Чтение", результат сюда.

Re: помогите востановить загрузчик на nano 168pa

Ср янв 08, 2020 11:17:52

Старым способом можно и значительно проще сделать - только вот уровень подготовки и возможностей топикстартера нам НЕИЗВЕСТЕН.
Для начала следует принять его как минимально необходимый.
А замена бутлоадера за пределами рамок IDE штука не слишком то и простая
(в инете версий и советов море, а в реале... :facepalm: )...
Понасоветуем того, что "за пределами" - только проблем добавим.
:(

Re: помогите востановить загрузчик на nano 168pa

Ср янв 08, 2020 12:36:53

Dimon456 писал(а):
Возможно, у вас новая версия ArduinoIDE и там уже исправлено.
Новую версию ставить не буду, по этому сами programmers.txt ищите.
Возможный вариант где лежит: C:\arduino-1.8.1\hardware\arduino\avr\programmers.txt

Проверьте какой у вас miniCore установлен, у меня с ошибкой, на github правильный вариант,
опять же у меня валяется здесь C:\Users\Пользователь\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.0.0\
нужна папка bootloaders, в архив и сюда.



MiniCore последний из обновлений библиотеки 2,0,3
programmers.txt я нашол и видоизменил но ничего не добавилось
https://yadi.sk/d/Iu4u5zIrI3kTLQ

Пойдем старым способом

Скачиваете Avrdudeprog, можно отсюда
Подключаете к компу платку куда залит скетч ArduinoISP, к этой платке подключаете по SPI (MOSI, MISO, SCK) платку с 168РА, не забудьте резет 168РА соединить с pin 10 ArduinoISP и подать питание на платку с 168РА.
Выбираете целевой контроллер ATmega168PA,
Программатор AVR_ISP, порт на котором висит ArduinoISP
Где "Калибровочные ячейки генератора" нажимаете кнопку "Чтение", результат сюда.


сначала выдал это
Изображение
потом это
Изображение

Re: помогите востановить загрузчик на nano 168pa

Ср янв 08, 2020 13:01:50

У Вас ардуино-нано со 168й мегой?
Если так...
Я бы сначала сделал arduinoISP (только предварительно просмотрел тот скотч, что по умолчанию в базе примеров среды установлен - там надо немножко лапками подкорректировать содержимое).
Затем заправил какую-нить нанку или лучше про-мини+внешний USB-COM мостик - там резать ничего не потребуется подкорректированным скотчем (у меня только для 1.8.9 такой имеется)...
А уж при помощи полученного программатора заправил по ISP больную нанку...
Программатор в любом случае дело полезное - будет лежать для других случаев.
:roll:

Re: помогите востановить загрузчик на nano 168pa

Ср янв 08, 2020 13:30:14

а зачем портить на прогер нанку? чем нем угодил кусок шнура от соток с коробочкой
на pl2303 и ли FT232R USB UART???? можнои на любом другом мосту тока дрова родные и рабочие под них найти- предварително проверить в терминалке что пашет

Re: помогите востановить загрузчик на nano 168pa

Ср янв 08, 2020 13:44:43

Программатором в данном случае выступает загруженная соответствующим софтом нанка (или про-мини с платкой USB моста).
Собственно исходная публикация тут была:
https://radiokot.ru/forum/viewtopic.php ... 3#p3547663
8)
А минимальные дополнительные затраты на установку софта компенсируются имеющимся в самой ардуиноIDE.
ВОТЬ...
Насчет корректуры примера-прожки...
Там светики мигают несколько быстренько. Вот я их и "тормозил".
В остальном все согласно прожки примера и схемки.
:roll:

Re: помогите востановить загрузчик на nano 168pa

Ср янв 08, 2020 13:50:49

а ну да допер все дело вот в этом

Для полноценного использования помимо штатных платок и самой IDE необходим также и поддерживаемый средствами IDE программатор.
Из всевозможных вариантов наиболее перспективным является таки изготовление программатора на основе смаих платок – arduinoISP.
Для чего была выбрана уже проработавшая в учебном режиме arduino-nano на базе atmega186PB.

хотя жалко портить на это целый 16к мк особо если учесть что даже на 48меге оно работает
Последний раз редактировалось musor Ср янв 08, 2020 14:24:02, всего редактировалось 1 раз.

Re: помогите востановить загрузчик на nano 168pa

Ср янв 08, 2020 13:57:04

Ну я его туда после некоторых первичных уроков- тренажей запихнул (когда мал ПЗУ перепрошивками помучал, да и 168-я не конкурент 328й, кои сейчас ЗА ТУ ЖЕ ЦЕНУ не в дефиците).
Самоделку из 48-й еще ПАЯТЬ НААДООО... :sleep: А тут ГОТОВАЯ и полностью собранная. :hunger:
В то же время кристаллы с "питанием посрединке" не входили в мой набор "кащеева сундучка" - не слишком мне нравятся по раскладке лапок - но ... то уже кому чего больше нравится.
:wink:
И помимо проччего там установка на любой номер СОМ порта допускается.
У простейших железяк и софтинок поддержка только для СОМ1 на материнке (в большинстве случаев).
А на ноутах и современных ПК "железного" СОМ1 сегодня встретить весьма сложно.
В то же время ежли чего кому из КОТЯТ пояснять - надо контрольный вариант у себя в наличии иметь.
:roll:

Парочка дополнительных замечаний по вопросу "почему не в меньший кристалл"...
1. В 48 arduinoISP не влазит - следовательно только от 8й меги.
2. в "штатной" комплектации разве что arduino NG or older выставить можно - а там ТОЛЬКО от atmega8 ряд начинается.
8)
Ответить