Bootloader Arduino NANO v3 Atmega168PA-AU загрузчик
- Войдите на сайт для отправки комментариев
Здравствуй, форум. Надеюсь я не нарушаю правил форума созданием этой темы. Облазил весь интернет. Уже 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 такого мк нет.
Уже устал искать ответ.. надеюсь на понимание и надеюсь на адекватные ответы без хейта и восклицаний о том что это ОЧИВИДНА!!! Я тупой - информирую заранее. Забавно, что платформа позиционирует себя, как "для новичков", но при этом создаёт такой гемор на самом старте знакомства..
Была такая же проблема с STM32. hex файл можно получить раздокументировав строчку в файле platform.txt. Точно не помню, но там указано, что надо делать или hex файл или двоичный. Ну и в ИДЕ экспорт бинарного файла.
Скорее всего сломан загрузчик.
Сломан вряд ли. Его там может не быть вообще, но этот случай весьма маловероятен. А вот то, что в мк могли залить другой лоадер -вполне возможно. Так что стоит попробовать выбрать другие платы Nano(328) и Uno.
Возможно ли через программу Uniprof, используя "5 проводков", прошить МК? Где взять hex. файлы?
Возможно, я сам шил когда у меня не было программатора. Файл лежит на вашем компьютере, в папке ардуино. Какой именно файл указано в board.txt:
Вообще где лежит сам файл и знать не обязательно, если вы правильно пропишите программатор в системе останется только выбрать из меню arduino IDE "записать загрузчик". Как это сделать есть инфо в инете. Возможно придёться поставить более старую IDE.
А подскажите, пожалуйста, как Вы загрузили hex.? У меня это выглядит так
https://yadi.sk/i/jo3cjtGmz1QWhg
Подавали ли питание на +VCC? Или оно идет от USB в плату и этого хватит?
UPD: Не могу загрузить фото. Вот ссылка.
А вот это не смущает? - 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
Не смущает, потому что я не знаю что эта строчка значит. Но я сейчас попробую её исправить.
Не смущает, потому что я не знаю что эта строчка значит. Но я сейчас попробую её исправить.
так вы попробуете подобрать скорость по компорту для общения с загрузчиком, если он там есть, останутся еще 9600 и 38400 если ни на одной из этих скоростей не получится, значит в плате загрузчик убит или его не было
хмм.. вроде написал ответ. что-то этот сайт гючит в моём браузере.
Менял скорость. Не помогло. Выдает всё тоже самое.
хмм.. вроде написал ответ. что-то этот сайт гючит в моём браузере.
Менял скорость. Не помогло. Выдает всё тоже самое.
Я правильно Вас понимаю, что Вы в командной строке вводите ту строку, что я писал выше, при этом меняли скорость обмена с 9600 до 115200 перепробовав все диапазоны скоростей, ни один из скетчей не загрузился.
Если так, то слетел бутлоадер.
Нет. Я в других местах видел меняют через конфиг - так и делал. По крайней мере в откладке скорость менялась. А как тогда? Я немного не догоняю какой порядок. Надо:
1. Открыть Командню строку
2. Вбить путь, как Вы написали.
3. Запустить SDK, прошивать и проверять результат.
Такой порядок?
Если во временной папке этот файлик есть -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
Если ни на какой скорости не прошилось, то виноват бутлоадер (с высокой долей вероятности)
Не взлетело?
К сожаленью, нет. Надо прошивать тогда.
А не подскажете, как получить hex. в виде 16ых?
Хмм.. хочу задать банальный вопрос, который поставил меня в ступор.. Какая распиновка ICSP на нане? Что означает полоска и цифра 1? Если мыслить оф-ой документацией, то 1 - это MISO?
Вторая, рабочая НАНО - есть? Если есть, то можно попробовать прошить загрузчик через неё - смотрите пример "Arduino as ISP" из коробки. Если нет - искать программатор (тут не помощник, не имею). Ещё, как вариант, попробовать прошить плату через Линукс (Ubuntu в частности сильно похожа на винду). У него проблем с драйверами для CH340G нет никаких, ничего "ставить" не надо. Там есть только одна "тонкость": надо включить себя в группу dialout и перезагрузиться. "Инсталировать" ИДЕ в общем-то тоже не требуется: распаковать только и заработает. Ещё как вариант, попробовать залить код со старого ИДЕ версии 1.0 .. может у вас слишком древний загрузчик (но сильно не уверен что он вообще есть, судя по ошибке).
Да и ещё, разьем ICSP это дубль ножек НАНО, можно подключиться прямо к ним (мне так было удобней).
Хмм.. хочу задать банальный вопрос, который поставил меня в ступор.. Какая распиновка ICSP на нане? Что означает полоска и цифра 1? Если мыслить оф-ой документацией, то 1 - это MISO?
У рободына дохлые наны не попадались, на 328 чипе при выборе платы надо выбирать OLD BOOT
Хмм.. хочу задать банальный вопрос, который поставил меня в ступор.. Какая распиновка 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
А не подскажете, как получить hex. в виде 16ых?
После компиляции hex находится во временной папке проекта. Путь к hex видно внизу в логах после компиляции. Если закрыть Arduino IDE, то временная папка проекта удаляется. Если надо именно содержимое hex, то откройте его с помощью блокнота. Это обычный текстовый файл.
Вторая, рабочая НАНО - есть?
Нету
У рободына дохлые наны не попадались, на 328 чипе при выборе платы надо выбирать OLD BOOT
У меня 168pa. Не знаю как с остальными платами у Рободына, но эта не работает.
Если надо именно содержимое hex, то откройте его с помощью блокнота. Это обычный текстовый файл.
Я хочу прошить контроллер в Uniprof. Жму загрузить hex. Выдаёт "минусами" вот так:
Думаю тогда вручную прописать то, что в блокноте. Но я не знаю как это читается:
Я думал эти строки можно редактировать.. Оказывается нет.
Какой признак сломанного загрузчика? Я прочитал мегу, выдаёт это:
Это значит, что загрузчик есть? Может есть какое-то механическое повреждение непосредственно на самой плате?
Вторая, рабочая НАНО - есть?
Нету
Ардуино - не тот проект приобщаться к которому стоит с единственной нано )))
Это таблица векторов прерываний, загрузчик в конце. В чём блин проблема? Вы уже читаете чип, значит и прошить можете. Запишите уже в него лоадер, дел на 5 минут вы уже 3 дня нам тут мозг выносите.
ОМГ напишу 3 раз в чём блин проблема.. при загрузке hex. загрузчика в программу выдаёт всё "----". Вот вся проблема. Я бы с радостью давно загрузил всё и не выносил бы вам мозг, но меня уже 2 раза не слышали. Может сейчас услышат и скажут как это вылечить.
ОМГ напишу 3 раз в чём блин проблема.. при загрузке hex. загрузчика в программу выдаёт всё "----". Вот вся проблема.
Милый друг!
Юнипроф устроен таким образом, что читает правильно HEX, исключительно ПОСЛЕ!!!!!!! определения микроконтроллера, мля! И об этом, ити-его-мать, НАПИСАНО в подробной инструкции к нему.
На твоей чудной картинке, которую ты даже не позаботился уложить в рамки, что много говорит об умственных способностях, тип контроллера UNKNOWN. Странно да? И почему это юнипроф у тебя кекс черточками рисует????
Если ты не смог сам разобраться в такой простой проблемке (сперва подключение контроллера, а потом чтение кекса), то может МК - это не твое? Может ну его в баню? Это не совет, ни в коем разе, просто частное мнение.
Юнипроф устроен таким образом, что читает правильно HEX, исключительно ПОСЛЕ!!!!!!! определения микроконтроллера, мля! И об этом, ити-его-мать, НАПИСАНО в подробной инструкции к нему.
Милый друг!
В очередной раз убеждаюсь, что люди "технической направленности", которые сидят на сайтах, форумах тематически направленных на радиолюбителей, неадекватные. Не вникают в вопрос, не имеют отзывчивости к новичкам, "пытаются помочь" задавая один и тот же вопрос, отвечая на него, не ознакомившись с тем, что было написано выше, а потом обсерают самоутверждая свою "крутизну", показывая какой он про. Не знаешь как открыть hex. без проблем показаных на скрине, тогда сломай себе пальцы дверью, чтоб не писать свои высеры. Не все такие, но почему-то таких инфузорий, как ты, встречаю только в подобых местах.. А на этом форуме фейковых-троллей просто дохерища. Не знаю к какой форме одноклеточных ты относишься, но нахера вставлять мк, чтобы открыть файл?? Дичь несёшь конкретную. Может мозг включать - это не твоё? Может ну его в баню? Это не совет, просто частное мнение
ОМГ напишу 3 раз в чём блин проблема.. при загрузке hex. загрузчика в программу выдаёт всё "----". Вот вся проблема. Я бы с радостью давно загрузил всё и не выносил бы вам мозг, но меня уже 2 раза не слышали. Может сейчас услышат и скажут как это вылечить.