не могу прошить atmega8

Обсуждаем контроллеры компании Atmel.
Ответить
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 31
Зарегистрирован: Чт ноя 08, 2012 20:52:52
Откуда: Россия

Сообщение super electrik »

не могу прошить контроллер через usbasp пишет такую ошибку:

Код: Выделить всё

# avrdude -c usbasp -pm8 -P /dev/ttyUSB0 -U flash:w:/AVR/main.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x008100
avrdude: Expected signature for ATMEGA8 is 1E 93 07
avrdude: safemode: Verify error - unable to read hfuse properly. Programmer may not be reliable.
avrdude: safemode: To protect your AVR the programming will be aborted

avrdude done.  Thank you.
я новичек в этом деле, так что сильно не ругайте. с ключом -F то же самое только вместо hfuse - lfuse
гуглил мало чего нашел
Кто считает что техника безопасности для лохов, встретимся на кладбище.... безымянный энергетик
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 51
Зарегистрирован: Ср окт 31, 2012 10:33:57

Сообщение Полиграф Полиграфыч »

Если Atmega8 новая и по умолчанию работает от встроенного rc-генератора, то возможно программатор обращается к ней на очень большой частоте и она не может.
Реклама
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 31
Зарегистрирован: Чт ноя 08, 2012 20:52:52
Откуда: Россия

Сообщение super electrik »

Полиграф Полиграфыч писал(а):Если Atmega8 новая и по умолчанию работает от встроенного rc-генератора, то возможно программатор обращается к ней на очень большой частоте и она не может.
а вот по этой ошибке можно понять что я все правильно подключил?
и как снизить частоту программатора?
Кто считает что техника безопасности для лохов, встретимся на кладбище.... безымянный энергетик
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Раз сигнатура прочиталась не как 0x000000 или 0xffffff, то варианта 3:
1) все подключено верно, но скорость действительно большая и контроллер не успевает за тактовым сигналом программатора.
2) подключено не верно (или ресет отключен), в контроллере зашита программа, которая дергает ногу MISO, тем самым выдавая в качестве сигнатуры какое-то случайное число (если мк новый этот вариант отпадает)
3) MISO не контачит, висит в воздухе и ловит наводки (маловероятно, элементарно проверяется попыткой еще раз прочитать сигнатуру и сравнить)
Это что касается программирования AVR в общем. Ну а как снизить частоту это надо в хелпе к avrdude искать...
Реклама
Эиком - электронные компоненты и радиодетали
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 31
Зарегистрирован: Чт ноя 08, 2012 20:52:52
Откуда: Россия

Сообщение super electrik »

я ее прошил, да? или нет просто в конце какието ероры нарисовались(

# avrdude -c usbasp -p atmega8 -F -U flash:w:/AVR/main.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA8 is 1E 93 07
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/AVR/main.hex"
avrdude: input file /AVR/main.hex auto detected as Intel Hex
avrdude: writing flash (4700 bytes):

Writing | ################################################## | 100% 22.50s



avrdude: 4700 bytes of flash written
avrdude: verifying flash memory against /AVR/main.hex:
avrdude: load data flash data from input file /AVR/main.hex:
avrdude: input file /AVR/main.hex auto detected as Intel Hex
avrdude: input file /AVR/main.hex contains 4700 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 20.35s



avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x3b != 0x00
avrdude: verification error; content mismatch

avrdude: safemode: Fuses OK

avrdude done. Thank you.
Кто считает что техника безопасности для лохов, встретимся на кладбище.... безымянный энергетик
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Ну начиная со строчки

Код: Выделить всё

avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
уже понятно что процесс пошел неправильно... А уж то что в конце произошла ошибка верификации однозначно показывает что ничего не прошилось.
Только почему на этот раз сигнатура стала нулевая непонятно.
Реклама
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 31
Зарегистрирован: Чт ноя 08, 2012 20:52:52
Откуда: Россия

Сообщение super electrik »

а сигнатура для контроллера должна быть постояной? Или может меняться?
Кто считает что техника безопасности для лохов, встретимся на кладбище.... безымянный энергетик
Друг Кота
Аватара пользователя
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Сигнатура всегда постоянная, по ней определяется какой именно контроллер подключен.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 383
Зарегистрирован: Пн мар 16, 2009 23:35:42
Откуда: Украина Новоднестровск

Сообщение nibiluk »

Насколько я знаю у usbasp есть джампер понижения частоты, так вот его надо снять так как новая мега8 с ним не шьется, проверено. Когда снимется фуз ckdiv8 будет и с джампером прошиватся.
Всем известно что любая микросхема работает на дыме, и если волшебный дым из неё вышел то она перестает работать.
Родился
Сообщения: 1
Зарегистрирован: Чт мар 07, 2013 16:37:21

Сообщение gehrmann »

Попробуйте ещё очищать микроконтроллер перед заливкой прошивки.

У меня была похожая проблема с несколькими ATMega8A и я её решил таким образом.
Ответить

Вернуться в «AVR»