Всем добрый день! История следующая: Коротнул 12В на какую-то из дорожек на ардуино мега, в итоге сгорела плата, на подключение к компу никак не реагировала. Поменял стабилизатор питания и чип USB-UART, USB-UART прошил, плата начала определяться как Ардуино мега, висящая на ком-порту. Однако прошивка скетчей в контроллер не шла. Заказал в Китае МС Atmega 2560, поменял. Но скетчи не грузятся, и постоянно горят светодиоды L и ON. Как я понимаю, надо зашить в микруху загрузчик, и вот тут вылезает проблема. При попытке прошить загрузчик с помощью второй Меги в качестве программатора вылезает следующее: C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cstk500v1 -PCOM3 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xD8:m -Ulfuse:w:0xFF:m avrdude: Version 6.3-20190619 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 : COM3 Using Programmer : stk500v1 Overriding Baud Rate : 19200 AVR Part : ATmega2560 Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PA0 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 10 8 0 no 4096 8 0 9000 9000 0x00 0x00 flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00 lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 lock 0 0 0 0 no 1 0 0 9000 9000 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 : STK500 Description : Atmel STK500 Version 1.x firmware 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.02s avrdude: Device signature = 0x000000 (retrying) Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x000000 (retrying) Ошибка при записи загрузчика. Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. avrdude done. Thank you. Фотки с подключением прикладываю. Пробовал уже и частоту понизить (менял #define SPI_CLOCK (1000000/6) в скетче на #define SPI_CLOCK (128000/6) ), не помогает. Куда копать, подскажите? Знаю, что проще новую Мегу было купить, но уже интересно добить вопрос)
Нет, я понял, что коряво считывается сигнатура, вопрос, это микруха atmega2560 корявая приехала из Китая или у меня руки кривые...) Я просто в мегу залил скетч ArduinoISP и соединил выводы ICSP обоих ардуин
Там reset еще надо подтянуть и не перепутать MISO и MOSI. Ну т.е. дашик открыть и посмотреть. Ну и частоту понизить на минимальную. Оно с китайского завода вообще неизвестно от чего тактируется и с каким делителем.
Подтянуть через резистор к +5? Даташиты уже смотрел...ради интереса можно, конечно, поменять мисо с моси местами..
Вообще, я себе сделал программатор на основе atmega32u4 AVRISP mkII (есть в библиотеке LUFA). Если он МК не видит, значит МК в помойку.
Попробовал запустить прошивку из командной строки с параметром -F...Результат приведен ниже. Видимо, надо и правда попробовать сторонним загрузчиком... avrdude: Version 6.3-20190619 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "C:\avrdude.conf" Using Port : COM3 Using Programmer : stk500v1 Overriding Baud Rate : 19200 AVR Part : ATmega2560 Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PA0 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 10 8 0 no 4096 8 0 9000 9000 0x00 0x00 flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00 lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 lock 0 0 0 0 no 1 0 0 9000 9000 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 : STK500 Description : Atmel STK500 Version 1.x firmware 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.03s avrdude: Device signature = 0x000000 (retrying) Reading | ################################################## | 100% 0.03s avrdude: Device signature = 0x000000 (retrying) Reading | ################################################## | 100% 0.03s avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. avrdude: Expected signature for ATmega2560 is 1E 98 01 avrdude: safemode: lfuse reads as 0 avrdude: safemode: hfuse reads as 0 avrdude: safemode: efuse reads as 0 avrdude: erasing chip avrdude: reading input file "0x3F" avrdude: writing lock (1 bytes): Writing | | 0% 0.00s ***failed; Writing | ################################################## | 100% 0.10s avrdude: 1 bytes of lock written avrdude: verifying lock memory against 0x3F: avrdude: load data lock data from input file 0x3F: avrdude: input file 0x3F contains 1 bytes avrdude: reading on-chip lock data: Reading | ################################################## | 100% 0.01s avrdude: verifying ... avrdude: verification error, first mismatch at byte 0x0000 0x00 != 0x3f avrdude: verification error; content mismatch avrdude: safemode: lfuse reads as 0 avrdude: safemode: hfuse reads as 0 avrdude: safemode: efuse reads as 0 avrdude: safemode: Fuses OK (E:00, H:00, L:00) avrdude done. Thank you.
А смысл? Если сигнатура не читается, значит есть явные проблемы. Надо подключать ЛА и смотреть, есть ли вообще ответ от МК. Программатор должен сперва утянуть вниз пин ресета прошиваемого МК, а затем пытаться установить связь с МК.
делать этого категорически не стоит НИ В КАКОМ СЛУЧАЕ. А в вашем по диагностике и так было совершенно очевидно, что это не поможет. То. что у вас читается сигнатура 0х0000 - говорит об отсуствии связи с контроллером. Причины - либо проблема с подключением, либо на МК нет питания. либо он уже мертвый...