Yikes! Invalid device signature.

deklon
Offline
Зарегистрирован: 16.02.2015

Добрый день.



Сегдня решил заняться прошивкой attiny85.



Для этого нашел схему с пинами этой платы, прочитал и посмотрел множество статей и роликов. Решил залить на мк базовый скейч Fade, залил на свою Arduino Uno Arduino ISP, выбрал нужный мне  мк и....



И тут началось самое интересное. При компиляции файла Fade выдала вот такую ошибку: 



Yikes! Invalid device signature.



Double check connections and try again, or use -F to override



this check.



Перепробовал множество вариантов: менял тиньку,брал другую arduino, менял конденсатор, заливал не Fade, а Blink. Все без толку.



Подскажите пожалуйста в чем может быть проблема?

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Скорее всего, это - не софтовая проблема, а аппаратная...

deklon
Offline
Зарегистрирован: 16.02.2015

ну а как ее решить не подскажете?

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

В Arduino IDE вообще есть поддержка attiny85? У каждой модели чипа есть своя уникальная сигнатура. Так вот, IDE ругается что сигнатура прошиваемого чипа не совпадает с тем, который выбран в настройках.

Либо вместо нормальной сигнатуры читаются нули.

deklon
Offline
Зарегистрирован: 16.02.2015

поддержка есть. Как мне узнатья, правильная сигнатура или нет?

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

deklon, гугль? atmel.com? ) Есть ещё у вас в папке с ардуино \hardware\tools\avr\etc\avrdude.conf в нём описания всех поддерживаемых контроллеров данной версии, в том числе и сигнатуры.

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

deklon пишет:

поддержка есть. Как мне узнатья, правильная сигнатура или нет?

Я пользуюсь оболочкой SinaProg для avrdude. Через неё можно считать чип, его фьюзы. Там будет видна сигнатура, которая считывается.

deklon
Offline
Зарегистрирован: 16.02.2015

Огромное спасибо.

в записи сигнатуры на attiny85 была допущена ошибка. После исправления все заработало.

deklon
Offline
Зарегистрирован: 16.02.2015

И снова здравствуйте!(

и опятьу меня эта же ошибка, но на сей раз сигнатура в порядке(.

что это может быть еще ?

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

Считанная сигнатура МК не совпадает с указанной в avrdude.conf, смотрите внимательней.

deklon
Offline
Зарегистрирован: 16.02.2015

Все равно не идет. Вот записи с datasheet и avrdude

в datasheet

Attiny85 0x1E 0x93 0x0B

c avrdude:

##  Try the AT90S2313 devcode:
     avr910_devcode   = 0x20;
     signature        = 0x1e 0x93 0x0b;
     reset            = io;
     chip_erase_delay = 4500;
...
mode = 0x41;
delay = 6;
blocksize = 32;
readsize = 256;
       ;
#   ATtiny85 has Signature Bytes: 0x1e 0x93 0x0b.
     memory "signature"
 
Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Jeka_M пишет:
Считанная сигнатура МК не совпадает с указанной в avrdude.conf, смотрите внимательней.

Еще раз - какая сигнатура считывается?

deklon
Offline
Зарегистрирован: 16.02.2015

не могу понять ваш вопрос.

в файле avrdude сигнатура указывается 2 раза. обе привел в соответствие с datasheet. какая из них используется не знаю.

Клапауций 001
Offline
Зарегистрирован: 05.09.2015

deklon пишет:

не могу понять ваш вопрос.

в файле avrdude сигнатура указывается 2 раза. обе привел в соответствие с datasheet. какая из них используется не знаю.

он это имеет ввиду

Yikes! Invalid device signature.

включи подробный вывод лога в Дуино ИДЕ, а то достал уже бестолковыми вопросами.

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Обычно это заканчивается нахождением отвалившейся земли или питания...

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

deklon пишет:

не могу понять ваш вопрос.

в файле avrdude сигнатура указывается 2 раза. обе привел в соответствие с datasheet. какая из них используется не знаю.

Хоспади... Сигнатура записана в самом микроконтроллере. Avrdude при работе с микроконтроллером считывает её и сверяет с той, которая указана в avrdude.conf. Ещё в апреле в сообщении #6 я писал, как посмотреть считываемую сигнатуру. Коллега Клапауций подсказывает, что можно глянуть также в логах Arduino IDE, включив в настройках подробный вывод. 

На 90% уверен, что там вместо сигнатуры будет 0х000000. Сам на такое попадался, когда пытался прошить atmega8a, atmega48pa с помощью USBasp. Связано со слишком большой скоростью прошивки при небольшой тактовой частоте микроконтроллера (~1 МГц). На USBasp есть специальный джампер, при установке которого программатор переходит на пониженную скорость. Как-то так...

Если вместо программатора используете другую ардуино со скетчем Arduino ISP - там в скетче вроде тоже можно менять скорость прошивки. Поставьте поменьше.

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

Andrey_Y_Ostanovsky пишет:

Обычно это заканчивается нахождением отвалившейся земли или питания...

Если отвалилось питание, дудка должна ругаться по-другому:

avrdude: error: programm enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override this check.
std
Offline
Зарегистрирован: 05.01.2012

Так, для самообразования:

expect=0x14 resp=0x51 - отвалился сброс, убедиться что провод сброса контачит с выводом сброса на МК, что есть резистор 1-10k от сброса до плюса (если забыть, тоже жалуется)

invalid device signature - неправильно подключены провода D11-D13 или кварц, или его конденсаторы. У меня было когда вместо 22 пФ стоял 0.1 мкФ, они на моих платах рядом и легко перепутать.