Arduino перезаписать загрузчик

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

Кто подскажет как решить "задачу".

Есть Arduino NANO с USB входом, как на эту карту перезаписать загрузчик от Arduino UNO? Если у меня нет USBAcp, а есть другая ардуинка Arduino Pro mini c USB возможно ли использование ее как загрузчик и главное КАК ?? 

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Зачем?

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

Anonimus-2014, у меня как раз в тестовой  нано бутлоадер от UNO зашит. Зашил когда спалил родной чип, потом припаял другой и залил лоадер от УНО.  Методика подойдёт стандартная для ArduinoISP, на arduino.cc даже в картинках есть.

kisoft, дык родной бутлоадер нано  2кБ занимает, а от уно -512 байт. Плюс он более быстрый. Плюс с вотчдогом нет проблем.

bwn
Offline
Зарегистрирован: 25.08.2014

dimax пишет:

kisoft, дык родной бутлоадер нано  2кБ занимает, а от уно -512 байт. Плюс он более быстрый. Плюс с вотчдогом нет проблем.

Пасибки, таки не знал.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

dimax, я понимаю, когда это действительно нужно, а если даже не знаешь как прошить, то возникает мой вопрос, зачем ;)

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

Просто скетч размером 31 370 из 30 720 возможных, вроде как перешивка заргрузчика с NANO на UNO решает эту проблему. ?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

В таком случае, зачем там вообще загрузчик? Чтобы его прошить нужен либо полноценный программатор, либо ещё одна ардуина со скетчем Arduino ISP. Но в таком случае можно прошить сразу нужный Вам скетч. Вообще без загрузчика, напрямую. В Ардуино IDE - Файл - Загрузить с помощью программатора.

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

Вроде как перепрошив загрузчик у карты Arduino NANO на Arduino UNO добавляется еще 2кб и этот скетч можно загрузить на NANO. Вопрос в том, как имя Ардуино Mini это сделать,  перешить загрузчикот УНо на карту НАНО?

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

Anonimus-2014, просто залить скетч ардуино ИСП, подсоединить проводки и прошить :) Вот собрал и сфоткал специально для вас именно ваш вариант - как программатор используется Про мини,  прошивается -нано,  нажал кнопку "Записать загрузчик " -записал) НЕ забудьте перед записью загрузчика поставить что у вас УНО.

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Anonimus-2014 пишет:

Вроде как перепрошив загрузчик у карты Arduino NANO на Arduino UNO добавляется еще 2кб и этот скетч можно загрузить на NANO.

Любой скетч можно загрузить на NANO (и любую другую ардуино) вообще без загрузчика. Загрузчик можно стереть. С помощью программатора или ArduinoISP.

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

Вроде все записалось но с такой ошибкой avrdude: stk500_getsync(): not in sync: resp=0x00

 

 

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

и на нано постоянно мигает зеленый светодиод 

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

и гарит красный 

bwn
Offline
Зарегистрирован: 25.08.2014

Anonimus-2014 пишет:

Вроде все записалось но с такой ошибкой avrdude: stk500_getsync(): not in sync: resp=0x00

 

 

Абонент временно не доступен. Ниче не записалось.

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

Arduino mini у меня там порты 10-16-14-15 а не  10-11-12-13

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

Да уж Походу  Arduino NANO пришел конец 

dimax
dimax аватар
Онлайн
Зарегистрирован: 25.12.2013

Anonimus-2014, что значит "у меня там порты"? Шина SPI сидит на вполне конкретных контактах.

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

я все подключил теперь на Эту нано уже ничего нельзя записать и мигает зеленый светодиод ((

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

при перепрошивке я поставил программатор ARDUINO ISP ? и пишет ошибку при записи загрузчика avrdude: stk500_getsync(): not in sync: resp=0x00

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

Можно ли как-то откатиться назад или нет ? обнулить ардуино ?

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

1. Перестаньте баловаться с "Ардуиной как ИСП".  Купите USBASP.

2. Прошив код больший чем память минус загрузчик и не сбросив фьюз BOOTRST  вы получаете
стартовый адрес начала загрузки где-то внутри вашего кода  ( в самом его конце ).

Уверяю вас что все программы обычно стартуют  с начала, а не с любого адреса..... Что и делает загрузчик.
Если бы вы не затёрли своим кодом часть загрузчика- вы бы и не заметили этого. Сбрасывайте фьюз и всё будет работать.

Откатится просто : прошейте загрузчик.

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

trembo пишет:

1. Перестаньте баловаться с "Ардуиной как ИСП".  Купите USBASP.

2. Прошив код больший чем память минус загрузчик и не сбросив фьюз BOOTRST  вы получаете
стартовый адрес начала загрузки где-то внутри вашего кода  ( в самом его конце ).

Уверяю вас что все программы обычно стартуют  с начала, а не с любого адреса..... Что и делает загрузчик.
Если бы вы не затёрли своим кодом часть загрузчика- вы бы и не заметили этого. Сбрасывайте фьюз и всё будет работать.

Откатится просто : прошейте загрузчик.

КАК это сделать не имея USBASP ? Есть програма  для сброса фьюзов ?

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Если надо вернуть загрузчик:
 Называется "Записать загрузчик" Если вы с помощью "Ардуино как ИСП" смогли его испортить- сможете и восстановить

Если с фьюзами- avrdude и её различные GUI.
Правильно выбрать программатор.
Считать фьюзы, в калькуляторе посмотреть на них. поменять нужный. Записать.
Если не поняли о чём я сказал   (.....судя по вопросу: Есть програма  для сброса фьюзов ?....)- лучше не трогайте ничего.
Подождите USBASP.

 

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

trembo пишет:

Если надо вернуть загрузчик:
 Называется "Записать загрузчик" Если вы с помощью "Ардуино как ИСП" смогли его испортить- сможете и восстановить

Если с фьюзами- avrdude и её различные GUI.
Правильно выбрать программатор.
Считать фьюзы, в калькуляторе посмотреть на них. поменять нужный. Записать.
Если не поняли о чём я сказал   (.....судя по вопросу: Есть програма  для сброса фьюзов ?....)- лучше не трогайте ничего.
Подождите USBASP.

 

 

А можно реально всретиться перешить плату у меня нет бук есть ? Еще месяц ждать USB asp у меня нервы не выдержут ))

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

 

В С-Пб могу помочь.

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

я в МСК ((

bwn
Offline
Зарегистрирован: 25.08.2014

По большому счету, дуиной как ИСП, вы его заблокировать не могли. Ищите косяки в монтаже и пытайтесь перезалить загрузчик, он и фьюзы верные выставит. В этом деле похоже у всех есть свой бубен, у меня вот только после второго нажатия шьется.

Anonimus-2014
Offline
Зарегистрирован: 01.04.2015

Кто поможет перепрошить буду благодарен )))

Metamorhp
Metamorhp аватар
Offline
Зарегистрирован: 23.06.2017

У меня похоже похожая проблема... Китайский Arduino Nano v3.0. Уточню на всякий случай, ранее всё работало.

Начало при подключении nano приходить сообщение следующего содержания(как на фото) однако последний успешно залитый скетч прекрасно воспроизводит. Думаю, гуглю, переустанавливаю драйвер(ch341ser, раньше работало с ним), толку ноль. Думаю "ну, загрузчик слетел", танцы с бубном вокруг USB -> TTL и Pro Mini (которых у меня несколько), увы в этом плане новичёк, не сразу всё было понятно. В итоге: через USB-TTL шьётся всё, и две pro mini(правда через ресет при заргузке, но это фигня, она видится и ответы приходят), и nano. Но вот если подключаю nano её родным соединением, то вижу ту же картину что и раньше, скетч работает,(тоже запись только если перед ней нажать ресет) но комп ардуинку перестал видеть вупор по родному Mini-USB.

Вопрос в том как лечить проблему, ибо работать через USB-TTL мне куда менее удобно.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Гляньте VID PID вашего неопознанного обьекта.....

Metamorhp
Metamorhp аватар
Offline
Зарегистрирован: 23.06.2017
Если верно понимаю, речь о этом("путь к энкземпляру устройства" в свойствах драйвера в деспетчере устройств):
USB\VID_0000&PID_0000\6&743A9D0&0&1
Оно?
Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Оно. Не определяется микросхема USB-UART моста (CH340G), видимо вышла из строя или возможно плохой контакт. Для начала пропаять, если не поможет менять. Или забить и пользоваться USB-UART переходником.

P.S. Загрузчик тут не при чём. Он прошит в микроконтроллере (Atmega), а не в USB-UART мосту (CH340G).

Metamorhp
Metamorhp аватар
Offline
Зарегистрирован: 23.06.2017

Спасибо, думаю вышла из строя, хз от чего правда(плата сразу пропаяная была куплена, выглядит всё надёжно, да и для такой мелкой пайки у меня нет ни достаточно тонкого паяльника, ни паяльной станции).

Тогда такой вопрос всплывает, можно ли сделать так чтобы через USB-TTL прошивалось не требуя выжидать момента для нажатия ресета? Такое чувство что он позваляет заливать прошивку только в когда начинает работать загрузчик.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Metamorhp пишет:

Тогда такой вопрос всплывает, можно ли сделать так чтобы через USB-TTL прошивалось не требуя выжидать момента для нажатия ресета?

Можно, если найти переходник с выводом DTR. Например у Arduino Pro Mini тоже есть такой вывод, подключается к нему. А у Arduino Nano нет такого вывода, поэтому через керамический конденсатор 0,1uF подключается на Reset. И переходник сам "жмёт" ресет.

Metamorhp пишет:

Такое чувство что он позваляет заливать прошивку только в когда начинает работать загрузчик.

Ну правильно, так это и работает. Загрузчик не может запуститься в любое время.

При подаче питания или сбросе сначала запускается загрузчик и некоторое время ожидает загрузку прошивки. Если этого не происходит, он передаёт управление основной программе. Чтобы снова запустить загрузчик, нужно прервать-подать питание или ресетить микроконтроллер.

Barcooler
Offline
Зарегистрирован: 14.09.2017

Подскажите, а возможно как-то перезалить (восстановить) загрузчик в arduino nano не имея других ардуин и программаторов?

Но есть в распоряжении usp-uart мост на CP2102. Или это невозможно?

Есть предположение, что слетел загрузчик в nano.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Нет, прошить загрузчик с помощью usb-uart моста невозможно. Нужен программатор или другая ардуина.

Barcooler
Offline
Зарегистрирован: 14.09.2017

Понял, спасибо.

Есть правда предположение/надежда что последним скетчем, который удалось залить (перед этим начались проблемы с заливкой заливалось через через три - пать раз) Arduino ISP.

То есть теоретически можно им прошить атмегу (есть чистая с незапамятных времён) а потом уже на атмеге Arduino ISP попробовать собрать на макетке.