Пытаюсь прошивать nano через mega 2560 по такой схеме: MEGA2560-NANO 50-ICSP1 5V-ICSP2 52-ICSP3 51-ICSP4 10-ICSP5 GND-ICSP6 (Конденсатор между RESET и GND на 10 микрофарад внедрил) IDE выдает такую ошибку: avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. Ошибка при записи загрузчика. Далее, попробовал зашить напрямую через avrdude, чтобы иметь возможность пропустить проверку ибо подключения ТОЧНО правильные, как мне казалось и кажется до сих пор. Сконструировал такую строку(Файл с прошивкой взял из интернетов): avrdude -C ./avrdude.conf -c avrisp -P COM3 -b 19200 -p m328P -U flash:w:"C:\Users\Nikita\Desktop\ATmegaBOOT_168_atmega328.hex":a -F В итоге, вроде как шьёт, но результата все равно нет. В чем может быть ошибка ошибка?
Если я правильно понимаю, то без проверки дудка просто дергает ногами. То что у вас не совпадают сигнатуры не есть хорошо и надо решать проблему. К сожалению, мои попытки кончались тем, что я всё-таки путал miso/mosi или вид сверху/снизу разъёма, ну и на худой конец меня часто подводили контакты.
В чём смысл сего действия? Что касается: не все поймут, что Вы этим хотели сказать. И Вы уверенны, что тот скетч, который загружаете в Мегу, использует 10-ю ногу для сброса программируемого контроллера?
Руководствовался схемами с arduino.cc. Про кондюк они сами утверждают в тексте, но без него также не читает. Используется точно 10-я нога // Pin 10 is used to reset the target microcontroller. Все подключеня перепроверил. как логически, так и мультиметром +Полный вывод: Код (C++): System wide configuration file is "C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf" Using Port : COM3 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=0x7f AVR Part : ATmega328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 Programmer Type : Arduino Description : Arduino Hardware Version: 2 Firmware Version: 1.18 Topcard : Unknown Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0xffffff (probably .avr8x_mega) (retrying) Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0xffffff (probably .avr8x_mega) (retrying) Ошибка при записи загрузчика. Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0xffffff (probably .avr8x_mega) avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. avrdude done. Thank you.
Вы в Мегу заливаете скетч, который скорее всего Arduino ISP, там в самом начале написано какой порт используется для сброса программируемого контроллера (правда, не совсем просто выяснить это). Хотя скетч на то он и скетч, что каждый может поправить под свои нужды. Поэтому смотрите исходник скетча, что и как он использует (какие выводы/пины) для программирования 'TARGET'. PS: хватит хватать из интернетов что ни поподя -- есть же официальные сайты, где всё необходимое предоставляется.
Полистал скетч, использовал вариант со старым подключением: Код (C++): #define USE_OLD_STYLE_WIRING #ifdef USE_OLD_STYLE_WIRING #define PIN_MOSI 11 #define PIN_MISO 12 #define PIN_SCK 13 #endif И это тоже не работает, в общем я так понимаю какие я порты бы не ставил, оно все равно не читает, может быть использовать хардвейрный tcsp, судя по коду он должен работать
Qiberry - я вам писал еще в прошлой теме, что опция -F вам не поможет? - не поверили. Найдите какого-нибудь знакомого, который немного больше разбирается - и пусть он посмотрит, что вы такое делаете. Перешить загрузчик - дело одной минуты, а вы сколько уже возитесь. Возможно, вы просто уже убили плату и никакая прошивка ей не поможет. Я бы для проверки взял бы новую, заведомо живую Нано - и попытался перешить. Но Вам это боюсь и советовать - еще одну Нану и убьете и только.
Да я сам удивляюсь, как-то раньше не приходилось перешивать платы, если помирали, то полностью, а эта продолжает определяться. Видимо, придется раскошелиться на новую нано, ибо мега - единственная заведомо живая плата.
Вы меня недооцениваете))). Спасибо b707 за подсказку включить мозги. Сегодня купил программатор и думал, что с ним проблема, пытался его перепрошить, короче еще одна головная боль. Как оказалось, мозги маги программатором перешиваются с первого тычка, а нанка встает колом. Таким образом, я выяснил, что пинал мертвую плату и сбея три чертовых дня своей жизни, спасибо за внимание. Огромное спасибо за того, что напомнили не быть приматом.