avrdude: Yikes! Invalid device signature.
- Войдите на сайт для отправки комментариев
Чт, 08/03/2018 - 18:00
Всем привет! Тема старая, но решение свое проблеммы так и не нашел. Есть 2 чипа атмега8. Один в dip другой в tqfp. Присоединят мегу в dip к уне по ISP, ставлю кварц на 16 мГц и штатным программатором арудино без проблем прошиваю загрузчик. Тоже самое пытаюсь сделать с другой мегой в tqfp- получаю ошибку:
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
Подключение проверял, пробовал другую мегу из этой же партии в таком же корпусе - тоже самое. В чем может быть проблема? Загрузчик заливаю с параметрами ниже (из boards.txt). Скорости загрузки попробовал все.
##############################################################
atmega8.name=ATmega8 (no bootloader 8MHz ext)
atmega8.upload.protocol=arduino
atmega8.upload.tool=usbasp
atmega8.upload.maximum_size=7680
atmega8.upload.speed=115200
atmega8.bootloader.low_fuses=0xFF
atmega8.bootloader.high_fuses=0xD9
atmega8.bootloader.unlock_bits=0x3F
atmega8.bootloader.lock_bits=0x0F
atmega8.build.mcu=atmega8
atmega8.build.f_cpu=8000000L
atmega8.build.core=arduino
atmega8.build.variant=standard
такеж пробовал с такими параметрами:
##############################################################
atmega8.name=Arduino NG or older w/ ATmega8
atmega8.upload.protocol=arduino
atmega8.upload.maximum_size=7168
atmega8.upload.speed=19200
atmega8.bootloader.low_fuses=0xdf
atmega8.bootloader.high_fuses=0xca
atmega8.bootloader.path=atmega8
atmega8.bootloader.file=ATmegaBOOT-prod-firmware-2009-11-07.hex
atmega8.bootloader.unlock_bits=0x3F
atmega8.bootloader.lock_bits=0x0F
atmega8.build.mcu=atmega8
atmega8.build.f_cpu=16000000L
atmega8.build.core=arduino
atmega8.build.variant=standard
В чем может быть проблема?
В этом: Invalid device signature. Загрузчик и настройки boards.txt тут вообще не при чём.
Включи в настройках Arduino IDE подробный вывод логов при загрузке и выложи их сюда.
атмега8 в tqfp корпусе новая?
Arduino: 1.0.6 (Windows NT (unknown)), Board: "ATmega8 at 8 MHz (w/o crystal)"
C:\Program Files (x86)\Arduino\hardware/tools/avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega8 -cstk500v1 -P\\.\COM3 -b19200 -e -Ulock:w:0x3F:m -Uhfuse:w:0xCF:m -Ulfuse:w:0xE4:m
avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 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
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
AVR Part : ATMEGA8
Chip Erase delay : 10000 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 4 20 128 0 no 512 4 0 9000 9000 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash 33 10 64 0 yes 8192 64 128 4500 4500 0xff 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lfuse 0 0 0 0 no 1 0 0 2000 2000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
hfuse 0 0 0 0 no 1 0 0 2000 2000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lock 0 0 0 0 no 1 0 0 2000 2000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
avrdude: Send: A [41] . [80] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [02]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [81] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [01]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [82] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [12]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [98] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
avrdude: Send: A [41] . [84] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [85] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [86] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [87] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [89] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: Send: A [41] . [81] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [01]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [82] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [12]
avrdude: Recv: . [10]
avrdude: Send: B [42] p [70] . [00] . [00] . [01] . [01] . [01] . [01] . [02] . [ff] . [00] . [ff] . [ff] . [00] @ [40] . [02] . [00] . [00] . [00] [20] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: E [45] . [05] . [04] . [d7] . [c2] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: P [50] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: AVR device initialized and ready to accept instructions
Reading | avrdude: Send: V [56] 0 [30] . [00] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: Send: V [56] 0 [30] . [00] . [01] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
################avrdude: Send: V [56] 0 [30] . [00] . [02] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
################################## | 100% 0.06s
avrdude: Device signature = 0xffffff
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
avrdude: Send: Q [51] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude done. Thank you.
Чип корректно не считывается - avrdude: Device signature = 0xffffff
Ещё раз повторю вопрос - атмега8 в tqfp корпусе новая? (с магазина или уже где-то стояла?)
новая. при чем у меня 3 новых чипа и у всех одно и то же
Ну раз новые, то они настроены на внутренний RC-осциллятор 8МГц и включён делитель на 8. Итого, тактовая частота МК получается 1МГц. Это низкая тактовая для программатора, чипы из-за этого могут не считываться. Поэтому нужно понижать частоту SCK программатора. Например в USBasp это делается специальным джампером. Если же используется другая ардуина со скетчем Arduino ISP, там нужно указать более низкую частоту (строка #define SPI_CLOCK в скетче Arduino ISP)
нет такой директивы в скетче
А Вы Arduino: 1.0.6 из каких-то особых соображений используете? В скетче, который идёт с arduino-1.6.13 и далее такая директива есть
Да, в старых версиях такого нет. У меня как раз 1.6.13. В новых версиях 1.8.* тоже должно быть.
так а куда ж понижать, там и так стоит
#define SPI_CLOCK (1000000/6)
...до 128000/6
безрезультатно...
Питание подано на все пины GND, VCC, AVCC ? В корпусе tqfp их несколько штук.
Провода от ардуины до атмеги8 не слишком длинные? Контакт надёжный? Как соединение атмеги8 с ардуиной вообще организовано?
да, питание и земля на все соответствующие пины поданы. провода - стнадартный дюпон, с ними на мегу8 в дипе все становиться с дефолтными настройками
провода - стнадартный дюпон, с ними на мегу8 в дипе все становиться с дефолтными настройками
Зачем нам dip, если проблема с tqfp... Как подсоединено к tqfp ?
И да, надеяться на китайские провода дюпон не стоит. Бывает они плохо обжаты и контакт может пропадать. Пайка лучше всего.
чип распаян на печатной плате, все плюсы в куче, все минусы тоже, все дорожки и контакты прозвонил. завтра уже попробую припаяться к новому чипу проводами напрямую
короче, купил новый чип, запаял и все заработало. обидно, что 4 чипа из 2 разных партий оказались какими-то бракованными. спасибо всем за помощь.
Боюсь, просто где то соплей навешали, вот и не взлетело. ИМХО.
Подниму тему, дабы не полдить новых. Ситуация похожая. Купил пару Atmega328P в SMD корпусе на замену сгоревшему. Выпаяли з платы сгоревший, впаял новый. Три дня читал интернет - у всех все просто. Запустил IDE, выбрал скетч, загрузил в одну ардуину, поменял тип программатора и нажал Записать загрузчик. Пошел спать... Мне же не дает спать. Пишет:
Я не знаю как в IDE включиь этот -F поэтому нашел AVRDUDESS, в которой есть возможность включить этот ключ. Предварительно нашел в интернете загрузчик optiboot_atmega328 и с рабочей ардуины считал Fuses & Block bit,
выставил все, как на картинке и получил ошибку
. Подскажите, что сделал не так? Спасибо.
Загрузчик надо заливать через внешний программатор.
Проверяй пайку
Загрузчик надо заливать через внешний программатор.
на сколько я понимаю, то ардуина прошитая скетчем ArduinoISP это уже внешний программатор. Кроме того я имею программатор USBasp, там ситуация примерно такая же.
Значит не отвечает ваш камень на зов программатора ...
Проверяй пайку
Спасибо. Действительно. Прошелся еще раз по пайке и все взлетело.
Если не сложно, прошу помощи. Имею atmega8 в dip корпусе и arduino uno, хотел бы прошить загрузчик, но в итоге выдает ошибку "...Invalid device signature...". Лог ниже
Если не сложно, прошу помощи.
Всё уже написано в этой теме, добавить нечего.
Ну как бы не всё.
Вопрос такой у меня.
Какие сигнатуры и скорости указывать ?
Понять не могу, с ПК нормально заливка идёт, а с телефона не желает. Видимо дудка там настроена через опу.
И что ещё влияет на процесс загрузки ?
Прошу помощи по той же самой теме.
Все читал, и не только здесь, перепаивал трижды, пины сверял (sck-13, mosi-11, miso-12, reset-10).
Проблема такая:
Сделал свое устройство на ATmega328P-AU (SMD). Пришли 20 штук из кетая, естессно все голые.
Взял Ардуино Нано v.3.0 (CH340), все распаял, скетч загрузил, A as ISP выставил, загрузчик не льется. все как и у всех заканчивается на
в общем, не видит ардуинка мой чип. после чтения припаял кондёр, нет эффекта.
почитал еще, попробовал -B20 - нет эффекта, полез в скетч и менял 1000000/6 и 128000/6 - нет эффекта.
на след день со свежей головой отпаял свою поделку, впаял вместо ней вторую точно такую же Ардуинку и стал пытаться считать фьюзы, или флеш...
в итоге - все ровно тоже самое... signature = 0x000000
я уже не знаю куда копать. от прочитанного уже каша в голове. а результата не вижу ни в какой комбинации.
Позволю себе неграмотному быть первым.
Из описания не понятно чем и что прошивается.
328pb это кардинально не близко не 328p, надо чтоб программатор о ней знал, но вроде как в hardware\tools\avr\etc она есть, значит надо выбрать эту плату, или установить.
Надеюсь платы ваши именно под 328pb, потомучто иначе их просто замкнёт, питание у них разное. Или поднять 3 и 6 ногу, а то не в той плате мог и стабилизатор поджарится.
Ну и лучше прижимать ножки при пайке, китайские кривые qfp бывает что не касаются и лудятся навису.
А ещё из даташита я вижу что у вас подключено непонятно куда
mosi 15
miso 16
sck 17
reset 29
даже на мегу 48 в 28 mlf у меня такие ноги не получились, там 13-15,25
P.S. админы какойже убогий этот редактор, я вставляю текст с блокнота с переносом строки, а он тут форматируется в новый абзац.
Добавите в висивинг кнопку преобразовать все переносы в строки в новый абзац и все новые энтеры в перенос строки
прошу прощения, описался, все чипы 328p. (поправил текст)
все подключение гарантированно правильное..
забудьте про мою плату..
мне бы для начала одной Наной прочитать фьюзы или флеш другой точно такой же Наны...
а уже потом буду думать про свой чип.
Встречались чипы изначально с магазина прошитые чем то - выручал только высоковольтный программатор для сброса фьюзов в дефолтное состояние.
Есть же готовый STK500v2 by Petka, только там кварц экзотический, а так вполне стандартный рабочий програматор.
Думал о низкоскоростном варианте, потомучто кварцы есть от stk500, но не так часто с этим ковыряюсь чтоб ещё один собирать.
Исходники есть, но учитывая что там кварц задаёт частоту порта, на другой будет трудно переделать. Хотя не помню может можно под стандартный сделать.
Ну а для програматора мегу прошить можно и самой ch340g без всяких загрузчиков, только долго. Ну а фьюзы поменять быстро, надо только проводки подпаять и конфиг дудки поправить.
Komandir, в продаваемых китайцами чипах зашит ckdiv8, они чем попадя не прошиваются, о lpt stk200 можно сразу забыть. Собирал для одной поделки, думал обойдусь и забуду о этих МК, но он так и не пригодился, не с одним чипом не работает, везде этот бит зашит. Так и пришлось потом искать что собирать на куче накупленых мег
Для высоковольтного программатора вообще без разницы какие фьюзы и лок биты зашиты - сотрёт и выставить всё в дефолт.
Так в том и проблема что кроме древнего stk500 который не найти и нового дорогущего и ненадёжного stk600, вроде как нет PICkit который их шьёт, только самому собирать, а он не простой и детали редкие, поэтому и собирают доктора
в продаваемых китайцами чипах зашит ckdiv8
Во всех чипах с завода зашит фьюз CKDIV8 (в итоге тактовая 8МГц /8 = 1МГц), китайцы тут не при чём. Микроконтроллер легко прошивается с помощью USBasp и установленного джампера JP3 на нём (JP3 как раз и предназначен для прошивки МК с низкой тактовой <1МГц).
Я вот только так и не понял, куда копать в заливке бута однй Наной в другую..
обе кстати на кварце 16мгц
У меня складывается ощущение, что проблема в частотах.. не знаю пока каких, не знаю, пока где их править и на какие именно...
В одну, с которой нет проблем, залить скетч ArduinoISP, подцепить к проблемной и прошивать её...
Duncan купи нормальный программатор USBasp и не мучайся... И соединяй нормальными проводами, а не китайскими Dupont.
В одну, с которой нет проблем, залить скетч ArduinoISP, подцепить к проблемной и прошивать её...
они обе работающие.. цель - одной прочесть хоть что-то в другой..
я пока тупо не могу увидеть ничего через этот самый ISP...
Покажите ПОЛНЫЙ лог загрузки ?!
Покажите ПОЛНЫЙ лог загрузки ?!
А программатор то какой выбран в IDE ???
А программатор то какой выбран в IDE ???
Arduino as ISP
Осталось увидеть хорошее фото подключения.
Без понятия что такое stk500v1, но обычный stk500 обрезок не понимается дудкой как надо, хотя под него всего одна прошивка, а вот stk500v2 работает.
Так может у вас загрузчик убит.
Начнём с простого, у вас драйвера то стоят на тот uart который на этой нано припаян и порт правильный?
Да и вообще он рабочий, моргает там что при прошивке? Я както с pl2303 приладить не мог, в терминал данные шли, а програматор не видело, оказалось старый драйвер.
Jeka_M, оно и похоже попадалово от атмела чтоб их отладочные платы покупали и снимали этот бит. В первых ревизиях даташита была схема lpt и контролеры без бита шились, а в новых уже эту схему вырезали, "покупайте stk500, нефик бесплатно шить". А сейчас в интернете копипастят с умным видом эти lpt схемы которые не работают
в теории должно показать больше инфы
так... давайте еще раз:
у меня две АБСОЛЮТНО одинаковые и РАБОЧИЕ Arduino Nano V3 16MHz (CH340). Обе прекрасно заливаются скетчами по USB.
задача - ХОТЯБЫ увидеть программируемую нанку, например прочитав фьюзы.
Вот нам и надо увидеть как вы их соединили ! Если платы рабочие, то косяк на 99% в соединении ...
Увидеть в чём? Arduino не имеет средств для чтения МК, она только программирует, в ней никак ничего не увидеть больше чем лог верификации.
Мне кажется проблема стара https://www.drive2.ru/c/485776607730991538/
Ну и ждём фотки, вопрос всё также непонятен
Увидеть в чём? Arduino не имеет средств для чтения МК, она только программирует, в ней никак ничего не увидеть больше чем лог верификации.
Мне кажется проблема стара https://www.drive2.ru/c/485776607730991538/
Ну и ждём фотки, вопрос всё также непонятен
эээ что значит "она только программирует"?...
вообще-то, прежде, чем писать, она читает Device signature, читает фьюзы,
вот это в любом случае должно работать -U lfuse:r:-:i -U hfuse:r:-:i
что вы хотите увидеть на фото?.. 6 5-см проводов от одной наны к другой?.. не на макетке, пайка.
поверьте, там все абсолютно правильно и нормальным проводом. перепаивал в разных комбинациях раз 5 или 7.
USB кабель тоже не дешевый, толстый, короткий, с гасителем.
по ссылке на драйве, да, примерно тоже самое, но решения человек так и не нашел.