Bootloader Arduino NANO v3 Atmega168PA-AU загрузчик

Max_Max
Offline
Зарегистрирован: 23.09.2018

Здравствуй, форум. Надеюсь я не нарушаю правил форума созданием этой темы. Облазил весь интернет. Уже 2ой день ищу ответ на вопрос. По существу и по факту нигде ничего нет. Сам новичок в МК. Первый раз купил Arduino NANO v3 Atmega168PA-AU с чипом CH340G. Как не опытный, уже потратил, почему-то, аж 5 часов на решение проблемы с чипом и той проблемой, что ПК не видит USB. Решил. ПК видит плату. Спустя те 5 часов думаю: "Неужели! Cовершилось! Наконец-то я смогу потестить сей девайс!" Достал паяльник, детали. Первый раз подключил девайс, написал скетч, первый раз начал загружать и.. всё. Он не загрузил скетч.. Зря паяльник разогрел. Выдаётся вот эта ошибка:

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega168p -carduino -PCOM7 -b19200 -Uflash:w:C:\TEMP\arduino_build_573903/Blink.ino.hex:i

avrdude: Version 6.3-20171130
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

Using Port : COM7
Using Programmer : arduino
Overriding Baud Rate : 19200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xf4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xf4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xf4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xf4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xf4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xf4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xf4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xf4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xf4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xf4
 

avrdude done. Thank you. 

Также с момента подключения горит диод питания и мигает с частотой раз в пол секунды диод L. Кто-то пишет на форумах, что это Blink загружают в магазинах(на счёт этого сомневаюсь. Плата была запечатана. Шла прямиком с Китайског завода. Об этом сказал менеджер-консультает производителя моей платы.), а забугорный ютубер сказал - это признак сломаного загрузчика. Кому верить не знаю. Также после нажатия на "загрузить" скетч - 3 раза мигает TX диод, потомпосле появления каждой ошибки мигает 1 раз. т.е:

>avrdude: stk500_recv(): programmer is not responding
>avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xf4

мигнул
>avrdude: stk500_recv(): programmer is not responding
>avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xf4

мигнул.
И так 10 раз.

Скорее всего сломан загрузчик.

Поэтому сами вопросы: Как его можно вылечить НЕ покупая новую Ардуину в качестве программатора и НЕ покупая сам программатор? У меня есть программатор "5 проводков". Возможно ли через программу Uniprof, используя "5 проводков", прошить МК?  Где взять hex. файлы? Пробовал кучу вариантов запросов в гугле, прошёл по многим форумам - нигде не нашёл hex. файлы. Я так понял их можно взять в самом IDE, но какой именно подходит под mega168PA-АU? Пробовал загрузить один из этих hex. - вместо 16ых выдаёт тире. Также, надо ли как-то  прошивать EEPROM? Сам Uniprof просит файл для EEPROM. И где взять фьюзы под эту МК? В конфиге IDE такого мк нет. 

Уже устал искать ответ.. надеюсь на понимание и надеюсь на адекватные ответы без хейта и восклицаний о том что это ОЧИВИДНА!!! Я тупой - информирую заранее. Забавно, что платформа позиционирует себя, как "для новичков", но при этом создаёт такой гемор на самом старте знакомства.. 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Была такая же проблема с STM32. hex файл можно получить раздокументировав строчку в файле platform.txt. Точно не помню, но там указано, что надо делать или hex файл или двоичный. Ну и в ИДЕ экспорт бинарного файла.

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

Max_Max пишет:

Скорее всего сломан загрузчик.

Сломан вряд ли. Его там может не быть вообще, но этот случай весьма маловероятен. А вот то, что в мк могли залить другой лоадер -вполне возможно. Так что стоит попробовать выбрать другие платы Nano(328) и Uno.

Max_Max пишет:

Возможно ли через программу Uniprof, используя "5 проводков", прошить МК?  Где взять hex. файлы?

Возможно, я сам шил когда у меня не было программатора. Файл лежит на вашем компьютере, в папке ардуино. Какой именно файл  указано в board.txt:

## Arduino Nano w/ ATmega168
## -------------------------
nano.menu.cpu.atmega168=ATmega168
nano.menu.cpu.atmega168.upload.maximum_size=14336
nano.menu.cpu.atmega168.upload.maximum_data_size=1024
nano.menu.cpu.atmega168.upload.speed=19200
nano.menu.cpu.atmega168.bootloader.low_fuses=0xff
nano.menu.cpu.atmega168.bootloader.high_fuses=0xdd
nano.menu.cpu.atmega168.bootloader.extended_fuses=0xF8
nano.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex

Вообще где лежит сам файл и знать не обязательно, если вы правильно пропишите программатор в системе останется только выбрать из меню arduino IDE "записать загрузчик". Как это сделать есть инфо в инете. Возможно придёться поставить более старую IDE.

Max_Max
Offline
Зарегистрирован: 23.09.2018

А подскажите, пожалуйста, как Вы загрузили hex.? У меня это выглядит так

https://yadi.sk/i/jo3cjtGmz1QWhg

Подавали ли питание на +VCC? Или оно идет от USB в плату и этого хватит?

UPD: Не могу загрузить фото. Вот ссылка.

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

А вот это не смущает? - Overriding Baud Rate : 19200
На старой нане, со старым загрузчиком скорость порта должна быть 57600, с новым загрузчиком 115200
Может скопировать в буфер эту строку и попробовать с разными скоростями обмена?
1. C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega168p -carduino -PCOM7 -b19200 -Uflash:w:C:\TEMP\arduino_build_573903/Blink.ino.hex:i

2. C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega168p -carduino -PCOM7 -b57600 -Uflash:w:C:\TEMP\arduino_build_573903/Blink.ino.hex:i

3. C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega168p -carduino -PCOM7 -b115200 -Uflash:w:C:\TEMP\arduino_build_573903/Blink.ino.hex:i

 

Max_Max
Offline
Зарегистрирован: 23.09.2018

Не смущает, потому что я не знаю что эта строчка значит. Но я сейчас попробую её исправить.

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

Max_Max пишет:

Не смущает, потому что я не знаю что эта строчка значит. Но я сейчас попробую её исправить.


так вы попробуете подобрать скорость по компорту для общения с загрузчиком, если он там есть, останутся еще 9600 и 38400 если ни на одной из этих скоростей не получится, значит в плате загрузчик убит или его не было

Max_Max
Offline
Зарегистрирован: 23.09.2018

хмм.. вроде написал ответ. что-то этот сайт гючит в моём браузере.

Менял скорость. Не помогло. Выдает всё тоже самое.

 

 

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

Max_Max пишет:

хмм.. вроде написал ответ. что-то этот сайт гючит в моём браузере.

Менял скорость. Не помогло. Выдает всё тоже самое.

Я правильно Вас понимаю, что Вы в командной строке вводите ту строку, что я писал выше, при этом меняли скорость обмена с 9600 до 115200 перепробовав все диапазоны скоростей, ни один из скетчей не загрузился.

Если так, то слетел бутлоадер.

Max_Max
Offline
Зарегистрирован: 23.09.2018

Нет. Я в других местах видел меняют через конфиг - так и делал. По крайней мере в откладке скорость менялась. А как тогда? Я немного не догоняю какой порядок. Надо:

1. Открыть Командню строку

2. Вбить путь, как Вы написали.

3. Запустить SDK, прошивать и проверять результат.

Такой порядок?

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

Если во временной папке этот файлик есть -C:\TEMP\arduino_build_573903/Blink.ino.hex ( а он там обязан быть)
ТО просто копируешь строку в окошко винды выполнить и нажимаешь ENTER

 

Вот в этой строке периодически меняшь скорось - C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega168p -carduino -PCOM7 -b115200 -Uflash:w:C:\TEMP\arduino_build_573903/Blink.ino.hex:i

Если ни на какой скорости не прошилось, то виноват бутлоадер (с высокой долей вероятности)

 

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

Не взлетело?

Max_Max
Offline
Зарегистрирован: 23.09.2018

К сожаленью, нет. Надо прошивать тогда.

Max_Max
Offline
Зарегистрирован: 23.09.2018

А не подскажете, как получить hex. в виде 16ых?

 

Max_Max
Offline
Зарегистрирован: 23.09.2018

Хмм.. хочу задать банальный вопрос, который поставил меня в ступор.. Какая распиновка ICSP на нане? Что означает полоска и цифра 1? Если мыслить оф-ой документацией, то 1 - это MISO?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Вторая, рабочая НАНО - есть? Если есть, то можно попробовать прошить загрузчик через неё - смотрите пример "Arduino as ISP" из коробки. Если нет - искать программатор (тут не помощник, не имею). Ещё, как вариант, попробовать прошить плату через Линукс (Ubuntu в частности сильно похожа на винду). У него проблем с драйверами для CH340G нет никаких, ничего "ставить" не надо. Там есть только одна "тонкость": надо включить себя в группу dialout и перезагрузиться. "Инсталировать" ИДЕ в общем-то тоже не требуется: распаковать только и заработает. Ещё как вариант, попробовать залить код со старого ИДЕ версии 1.0 .. может у вас слишком древний загрузчик (но сильно не уверен что он вообще есть, судя по ошибке).

Да и ещё, разьем ICSP это дубль ножек НАНО, можно подключиться прямо к ним (мне так было удобней).

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

Max_Max пишет:

Хмм.. хочу задать банальный вопрос, который поставил меня в ступор.. Какая распиновка ICSP на нане? Что означает полоска и цифра 1? Если мыслить оф-ой документацией, то 1 - это MISO?

У рободына дохлые наны не попадались, на 328 чипе при выборе платы надо выбирать OLD BOOT

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

Max_Max пишет:

Хмм.. хочу задать банальный вопрос, который поставил меня в ступор.. Какая распиновка ICSP на нане? 

https://www.google.com/search?q=arduino+nano+pinout&source=lnms&tbm=isch

https://www.google.com/search?q=icsp+pinout&source=lnms&tbm=isch

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

Max_Max пишет:

А не подскажете, как получить hex. в виде 16ых?

После компиляции hex находится во временной папке проекта. Путь к hex видно внизу в логах после компиляции. Если закрыть Arduino IDE, то временная папка проекта удаляется. Если надо именно содержимое hex, то откройте его с помощью блокнота. Это обычный текстовый файл.

Max_Max
Offline
Зарегистрирован: 23.09.2018

Arhat109-2 пишет:

Вторая, рабочая НАНО - есть?

Нету

Max_Max
Offline
Зарегистрирован: 23.09.2018

ua6em пишет:

У рободына дохлые наны не попадались, на 328 чипе при выборе платы надо выбирать OLD BOOT

У меня 168pa. Не знаю как с остальными платами у Рободына, но эта не работает.

Max_Max
Offline
Зарегистрирован: 23.09.2018

Jeka_M пишет:

Если надо именно содержимое hex, то откройте его с помощью блокнота. Это обычный текстовый файл.

Я хочу прошить контроллер в Uniprof. Жму загрузить hex. Выдаёт "минусами" вот так:

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

Max_Max
Offline
Зарегистрирован: 23.09.2018

Я думал эти строки можно редактировать.. Оказывается нет.

Max_Max
Offline
Зарегистрирован: 23.09.2018

Какой признак сломанного загрузчика? Я прочитал мегу, выдаёт это:

Это значит, что загрузчик есть? Может есть какое-то механическое повреждение непосредственно на самой плате?

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

Max_Max пишет:

Arhat109-2 пишет:

Вторая, рабочая НАНО - есть?

Нету

Ардуино - не тот проект приобщаться к которому стоит с единственной нано )))

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

Max_Max пишет:
  Это значит, что загрузчик есть? Может есть какое-то механическое повреждение непосредственно на самой плате?

Это таблица векторов прерываний, загрузчик в конце. В чём блин проблема? Вы уже читаете чип, значит и прошить можете.  Запишите уже в него лоадер, дел на 5 минут вы уже 3 дня нам тут мозг выносите.

Max_Max
Offline
Зарегистрирован: 23.09.2018

ОМГ напишу 3 раз в чём блин проблема.. при загрузке hex. загрузчика в программу выдаёт всё "----". Вот вся проблема. Я бы с радостью давно загрузил всё и не выносил бы вам мозг, но меня уже 2 раза не слышали. Может сейчас услышат и скажут как это вылечить.

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Max_Max пишет:

ОМГ напишу 3 раз в чём блин проблема.. при загрузке hex. загрузчика в программу выдаёт всё "----". Вот вся проблема.

Милый друг!

Юнипроф устроен таким образом, что читает правильно HEX, исключительно ПОСЛЕ!!!!!!! определения микроконтроллера, мля! И об этом, ити-его-мать, НАПИСАНО в подробной инструкции к нему.

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

Если ты не смог сам разобраться в такой простой проблемке (сперва подключение контроллера, а потом чтение кекса), то может МК - это не твое? Может ну его в баню? Это не совет, ни в коем разе, просто частное мнение.

Max_Max
Offline
Зарегистрирован: 23.09.2018

wdrakula пишет:

Юнипроф устроен таким образом, что читает правильно HEX, исключительно ПОСЛЕ!!!!!!! определения микроконтроллера, мля! И об этом, ити-его-мать, НАПИСАНО в подробной инструкции к нему.

Милый друг!

В очередной раз убеждаюсь, что люди "технической направленности", которые сидят на сайтах, форумах тематически направленных на радиолюбителей, неадекватные. Не вникают в вопрос, не имеют отзывчивости к новичкам, "пытаются помочь" задавая один и тот же вопрос, отвечая на него, не ознакомившись с тем, что было написано выше, а потом обсерают самоутверждая свою "крутизну", показывая какой он про. Не знаешь как открыть hex. без проблем показаных на скрине, тогда сломай себе пальцы дверью, чтоб не писать свои высеры. Не все такие, но почему-то таких инфузорий, как ты, встречаю только в подобых местах.. А на этом форуме фейковых-троллей просто дохерища. Не знаю к какой форме одноклеточных ты относишься, но нахера вставлять мк, чтобы открыть файл?? Дичь несёшь конкретную. Может мозг включать - это не твоё? Может ну его в баню? Это не совет, просто частное мнение

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

Max_Max пишет:

ОМГ напишу 3 раз в чём блин проблема.. при загрузке hex. загрузчика в программу выдаёт всё "----". Вот вся проблема. Я бы с радостью давно загрузил всё и не выносил бы вам мозг, но меня уже 2 раза не слышали. Может сейчас услышат и скажут как это вылечить.