Перестала шиться ардуино нано

merlin552
Offline
Зарегистрирован: 19.02.2018

Здравствуйте. Перед озвучиванием проблемы небольшая предистория. Я решил сделать себе паралельный программатор из местного форума http://arduino.ru/forum/apparatnye-voprosy/universalnyi-avr-programmator-na-arduino . Так как скетч проекта был критичен к версии IDE автор выложил he[ файл чтоб не заморачиватся откатом на предыдущие версии. И после прошивки hex и начались проблемы. Больше на плату ничего залить нельзя. Я пробовал восстанавливать загрузчик. Загрузчик восстанавливается на плату можно залить скетч после чего она опять перестает отвечать Вот ошибка которая вылазит:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x94
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x94
avrdude: stk500_recv(): programmer is not responding
Проблема загрузки на плату. Для достижения дзен, курить http://www.arduino.cc/en/Guide/Troubleshooting#upload .
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x94
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x94
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x94
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x94
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x94
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x94
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x94
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x94

Так как я в свое время заказывал в Китае партию нано у меня оставалась еще одна свеженькая ардуинка я проверил все норм с ней и попробовал слить полную прошивку программатором и загрузить на старую. Не помогло. Скетч блинк который был загружен на новую платку на старой работает но достучатся к ней через usb я не могу

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Это нормально. Ваш hex без загрузчика.

Вам нужен программатор? Так зачем Вам туда ещё что-то прошивать? Хотите прошивать - восстанавливайте загрузчик и прошивайте, как Вы сейчас делаете.

merlin552
Offline
Зарегистрирован: 19.02.2018

Вы не поняли. Ардуинка сьемная. Держать ее ради программатора расточительно. Загрузчик я восстанавливал но не помогает. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

merlin552 пишет:

Загрузчик я восстанавливал но не помогает. 

А кто писал

merlin552 пишет:

Загрузчик восстанавливается на плату можно залить скетч

Вы заливаете тот же самый скетч (без загрузчика) и он опять его сносит.

Или не так? Тогда объясняйтесь толком.

merlin552
Offline
Зарегистрирован: 19.02.2018

Так. Постараюсь обьяснить поподробнее. Прошивку программатора я удалил и восстановил загрузчик. Заливаю тот-же блинк  и скетч заливается и начинает моргать светодиодом. Но больше на ардуину ничего нельзя залить. Выдает ошибку програматора. Восстанавливаю загрузчик еще раз. заливаю другой скетч (блинк с другим интервалом мигания). Все заливается но опять теряется доступ к плате (в диспетчере устройств плату видно). Я посчитал что раз у меня китайская ардуина то может быть загрузчик надо другой какой нибудь. Я полностью стер чип и склонировал и залил с такой же китайской ардуинки прошивку. И Опять та же картина вот теперь и не знаю чего делать.

Morroc
Offline
Зарегистрирован: 24.10.2016

Заливаете обычным способом через usb и Upload (Ctrl-U) в среде ? не Upload Using Programmer (Ctrl-Shift-U) ?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

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

merlin552
Offline
Зарегистрирован: 19.02.2018

А Вы помните что обзывали программатор нехорошим словом но забрали слова когда залили нех котовый выложил автор проекта. Я залил тот же  нех который давал автор и с ардуиной случилась вот такая беда. К ней потерялся доступ. Тогда и начались метания с загрузчиком 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

merlin552, вот и я его заливал. Но _не_через_ программатор, а через USB порт наны. Дудка с удовольствием заливает готовые хексы через бутлоадер avrdude -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:r:myfw.hex:i

 

merlin552
Offline
Зарегистрирован: 19.02.2018

Мда. Не знал. Был глуп. Ну случилось так случилось. Че делать то теперь?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

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

merlin552
Offline
Зарегистрирован: 19.02.2018

Вот прямо сейчас прошил загрузчик от уно средствами IDE. Залил скетч блинк на плату он загрузился. Все. Больше ничего нельзя залить. Что я делаю не так.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

merlin552, это было самое простое и логичное предположение. Остаётся побайтовый анализ.

проверка флеша:
-выполняете программатором полное стирание МК.
-Заполняете весь буфер нолями, прошиваете.
-перечитываете, убеждаетесь что всё записанное читается и везде записаны нули.

 
проверка целостности бутлоадера :
-выполняете программатором полное стирание МК.
-заливаете бутлоадер (уно) программатором. Контролируете программатором соответствие фьюзов L/H/E = FF/DE/FD
-считываете прошивку. Это будет образец "А"
-заливате блинк бутлоадером. Считываете прошивку программатором. Это образец "Б"
-сравниваете не повреждена ли в "Б" область "А"
 

 

merlin552
Offline
Зарегистрирован: 19.02.2018

Спасибо за ответ. Вопрос а как зашить одни нули? И еше, сейчас прошиты фьюзы low=FF high=DA lock=0F но я фьюзы вообще не трогал. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

merlin552 пишет:

Спасибо за ответ. Вопрос а как зашить одни нули? И еше, сейчас прошиты фьюзы low=FF high=DA lock=0F но я фьюзы вообще не трогал. 

это DIMAX фьюзы испортил )))

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

ua6em пишет:

это DIMAX фьюзы испортил )))

Нет.   "ОНО САМО!!!" (с) всех бугалтерий страны. 

Morroc
Offline
Зарегистрирован: 24.10.2016

Самое интересное, что в бухгалтерии всякое странное бывает и само. Иногда остается только офигевать :)

Green
Offline
Зарегистрирован: 01.10.2015

Мало того что бабы-бухгалтера, так ещё и само!)

lean_74
Offline
Зарегистрирован: 22.12.2015

 не бухи, а их очумелые ручки, специально порой пытаешься "такое" повторить, хер-не получается.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

lean_74 пишет:

 не бухи, а их очумелые ручки, специально порой пытаешься "такое" повторить, хер-не получается.

Ну так це ж бабы.  Так всегда и бывает, отвернуться не успеешь, а у них уже трэш, угар и синагога. 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

merlin552 пишет:

Спасибо за ответ. Вопрос а как зашить одни нули? И еше, сейчас прошиты фьюзы low=FF high=DA lock=0F но я фьюзы вообще не трогал. 

(1) Можно взять понипрог, у него есть опция залить буфер. Заливаете область от 0 до 0x8000 нолями, сохраняете как хекс. Либо можно сразу и прошить, если есть сериал-программатор :)

(2) high=DA  означает что бутсекция 2 килобайта.  Используется в Nano(old bootloader). То есть лоадер под UNO вы НЕ прошивали, иначе там бы было DE