Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибка "Can't resync" при прошивке АТМEGA8
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Andbiz
Привет, всем форумчанам! Столкнулся с такой ситуацией. Прошиваю ATMEGA8 при помощи ByteBlaster. При прошивке выдает такой текст:

avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr
v1.26rev2 (Oct 3 2008 11:32:54) http://www.ln.ua/~real/avreal
bug-reports, suggestions and so on mail to avreal@real.kiev.ua
Command: +mega8 -p1 -ab -e -w -v code.hex -%
% LPT port number 1
% LPT base address 0x378
% DLportIO.dll succesfully loaded, DLportIO.sys interface activated
% LPT write cycle 1.42us
% ByteBlaster found
% ByteBlaster mode
% osc = 800kHz -> setup=2, hold=2,1
% Reset
% PgmOn reply FF FF FF FF
% Try 1 to resync by reset pulse % PgmOn reply FF FF FF FF
% Try 2 to resync by reset pulse % PgmOn reply FF FF FF FF
% Try 3 to resync by reset pulse % PgmOn reply FF FF FF FF
% Try 4 to resync by reset pulse % PgmOn reply FF FF FF FF
Can't resync

Reset pin released
Adapter disabled

Обрывов и ошибок в плате нет - проверял. Прошивал без кварца. Потом подлючил кварц на 4 МГц - все та же ошибка. МК - рабочая (пробовал на нескольких). ByteBlaster - тоже (шил до этого тини2313). Скорее всего ошибка в тексте батника. Не мог ли кто-нибудь скинуть текст-пример текста прошивания для батника атмеги8 с кварцем (или с внутренним кварцем)? И подскажите, где я ошибся? Заранее спасибо.
Petka
Цитата(Andbiz @ Nov 17 2008, 01:11) *
v1.26rev2 (Oct 3 2008 11:32:54) http://www.ln.ua/~real/avreal

а LPT случаем не на плате расширения?
Laptop
Цитата(Andbiz @ Nov 17 2008, 01:11) *
% PgmOn reply FF FF FF FF
% Try 1 to resync by reset pulse % PgmOn reply FF FF FF FF
% Try 2 to resync by reset pulse % PgmOn reply FF FF FF FF
% Try 3 to resync by reset pulse % PgmOn reply FF FF FF FF
% Try 4 to resync by reset pulse % PgmOn reply FF FF FF FF
Can't resync

Такое может выдавать если БайтБластер отключен или не подано питание.

В bat-файлах необходим двойной %.
Например так:
для кварца
avreal32 -%% +MEGA8 -ab -p1 -e -b -v -wp -c code.hex -f_low=1F,_high=D9
для встроенного RC
avreal32 -%% +MEGA8 -ab -p1 -e -b -v -wp -c code.hex -f_low=04,_high=D9

Фьюзы только проверьте на всякий случай, у меня стояли для питания 5В.
Andbiz
Нет, не на плате расширения. С питанием нормально - ровно 5 вольт подаеться (мерял мультиметром). Про результаты программирования напишу после обеда.
VladimirYU
Цитата(Andbiz @ Nov 17 2008, 10:09) *
Нет, не на плате расширения. С питанием нормально - ровно 5 вольт подаеться (мерял мультиметром). Про результаты программирования напишу после обеда.

Проверьте доходит ли ресет от прграмматора до ноги МК.
ReAl
Что порт не на плате расширения - видно с 99% уверенностью и так - по -p1 на нём найден байт-бластер, у него время обращения почти полторы микросекунды, а не заметно меньше одной.
"такое выдавать" при отсутствующем байт-бластере программа может только при наличии ключа -! и при этом в логе будет сообщение о принудительном назначении необраруженного адаптера


Возможные варианты по аппаратуре:
  • не доходит сброс (проверяется даже тестером, для облегчения можно поставить -o100 и растянуть время)
  • не доходит SCK (тоже можно проверить тестером - должен усреднить показать около половины питания или мерять с -o10 на переменке)
  • не доходит MOSI или не возвращается назад MISO - при уверенности в прохождении сброса и в том, что у контроллера не зашит RSTDISBL бросается перемычка MOSI-MISO, ответы PgmOn reply должны пойти AС 53 00 00
Контроллер может быть зашит на низкую частоту (у меги8 этого нет), может быть зашит на внешний такт, а не на кварц. В этом случае помогает -o0 и проводок на XTAL1, в случае же фьюзов на кварц и без -o0 этот проводок сильно мешает.
Andbiz
Ресет от программатора до ноги МК доходит (проверил прибором на прозвонке).

Прописал вот такую строчку: "avreal32 -%% +MEGA8 -ab -p1 -e -b -v -wp -c code.hex -f_low=04,_high=D9 >write.output
pause" В отчете написано:

avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr
v1.26rev2 (Oct 3 2008 11:32:54) http://www.ln.ua/~real/avreal
bug-reports, suggestions and so on mail to avreal@real.kiev.ua
Command: -% +MEGA8 -ab -p1 -e -b -v -wp -c code.hex -f_low=04,_high=D9
% Fuse byte added: _low=4
% Fuse byte added: _high=D9
% LPT port number 1
% LPT base address 0x378
% DLportIO.dll succesfully loaded, DLportIO.sys interface activated
% LPT write cycle 1.41us
% ByteBlaster found
% ByteBlaster mode
% osc = 800kHz -> setup=2, hold=2,1
% Reset
% PgmOn reply AC 53 00 00
% Try 1 to resync by reset pulse % PgmOn reply AC 53 00 00
% Try 2 to resync by reset pulse % PgmOn reply AC 53 00 00
% Try 3 to resync by reset pulse % PgmOn reply AC 53 00 00
% Try 4 to resync by reset pulse % PgmOn reply AC 53 00 00
Can't resync

Reset pin released
Adapter disabled

При написании строчки "avreal32 -%% +MEGA8 -ab -p1 -e -b -v -wp -c code.hex -f_low=1F,_high=D9"

avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr
v1.26rev2 (Oct 3 2008 11:32:54) http://www.ln.ua/~real/avreal
bug-reports, suggestions and so on mail to avreal@real.kiev.ua
Command: -% +MEGA8 -ab -p1 -e -b -v -wp -c code.hex -f_low=1F,_high=D9
% Fuse byte added: _low=1F
% Fuse byte added: _high=D9
% LPT port number 1
% LPT base address 0x378
% DLportIO.dll succesfully loaded, DLportIO.sys interface activated
% LPT write cycle 1.42us
% ByteBlaster found
% ByteBlaster mode
% osc = 800kHz -> setup=2, hold=2,1
% Reset
% PgmOn reply FF FF FF FF
% Try 1 to resync by reset pulse % PgmOn reply FF FF FF FF
% Try 2 to resync by reset pulse % PgmOn reply FF FF FF FF
% Try 3 to resync by reset pulse % PgmOn reply FF FF FF FF
% Try 4 to resync by reset pulse % PgmOn reply FF FF FF FF
Can't resync

Reset pin released
Adapter disabled

Цитата
Возможные варианты по аппаратуре:
1) не доходит сброс (проверяется даже тестером, для облегчения можно поставить -o100 и растянуть время)
2) не доходит SCK (тоже можно проверить тестером - должен усреднить показать около половины питания или мерять с -o10 на переменке)
3) не доходит MOSI или не возвращается назад MISO - при уверенности в прохождении сброса и в том, что у контроллера не зашит RSTDISBL бросается перемычка MOSI-MISO, ответы PgmOn reply должны пойти AС 53 00 00

А можно поподробнее? Это все делать мерять при включении батника?
Andbiz
1) Сброс доходит. Напряжение на ресет 0,4 В, при попытке прошивания - падает до ноля;
2) В обычном режиме 1,5 В, при попытке программирования падает до 1-1,3 В (прописывал -о0100);
3) Поставил перемычку между MISO и MOSI. В отчете написано вот такая запись:

avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr
v1.26rev2 (Oct 3 2008 11:32:54) http://www.ln.ua/~real/avreal
bug-reports, suggestions and so on mail to avreal@real.kiev.ua
Command: -% +MEGA8 -ab -p1 -e -b -v -wp -c code.hex -f_low=04,_high=D9
% Fuse byte added: _low=4
% Fuse byte added: _high=D9
% LPT port number 1
% LPT base address 0x378
% DLportIO.dll succesfully loaded, DLportIO.sys interface activated
% LPT write cycle 1.41us
% ByteBlaster found
% ByteBlaster mode
% osc = 800kHz -> setup=2, hold=2,1
% Reset
% PgmOn reply 00 00 00 00
% Try 1 to resync by reset pulse % PgmOn reply 00 00 00 00
% Try 2 to resync by reset pulse % PgmOn reply 00 00 00 00
% Try 3 to resync by reset pulse % PgmOn reply 00 00 00 00
% Try 4 to resync by reset pulse % PgmOn reply 00 00 00 00
Can't resync

Reset pin released
Adapter disabled

Хотя обычно писалось - "% PgmOn reply FF FF FF FF"

P.S.
Жесть... В предыдущем посте, когда я прописал "avreal32 -%% +MEGA8 -ab -p1 -e -b -v -wp -c code.hex -f_low=04,_high=D9 >write.output pause" в отчете как раз и была эта строчка - "% PgmOn reply AC 53 00 00". Я тогда перемычек не ставил!:) А теперь пишет другое!
Andbiz
Спасибо всем, кто помогал мне в решении данного вопроса, в частности ReAl, Laptop. Причина - Не было контакта SCK на разъеме.
Andbiz
Снова перестал работать программатор...
Проверил сброс - проходит. C SCK все нормально - 2,5 В. При попытке прошивания делиться на двое. С MOSI и MISO тоже вроде все в норме. Ставил перемычку - был вот такой отчет :

avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr
v1.26rev2 (Oct 3 2008 11:32:54) http://www.ln.ua/~real/avreal
bug-reports, suggestions and so on mail to avreal@real.kiev.ua
Command: -p1 -ab -o10 +atmega8 -e -% -!
% LPT port number 1
% LPT base address 0x378
% DLportIO.dll succesfully loaded, DLportIO.sys interface activated
% LPT write cycle 1.41us
% ByteBlaster found
% ByteBlaster mode
% osc = 10kHz -> setup=142, hold=142,141
% Reset
% PgmOn reply AC 53 00 00
% Try 1 to resync by reset pulse % PgmOn reply AC 53 00 00
% Try 2 to resync by reset pulse % PgmOn reply AC 53 00 00
% Try 3 to resync by reset pulse % PgmOn reply AC 53 00 00
% Try 4 to resync by reset pulse % PgmOn reply AC 53 00 00
Can't resync

Reset pin released
Adapter disabled

Без перемычки текст отчета следующий:

avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr
v1.26rev2 (Oct 3 2008 11:32:54) http://www.ln.ua/~real/avreal
bug-reports, suggestions and so on mail to avreal@real.kiev.ua
Command: -p1 -ab -o10 +atmega8 -e -% -!
% LPT port number 1
% LPT base address 0x378
% DLportIO.dll succesfully loaded, DLportIO.sys interface activated
% LPT write cycle 1.41us
% ByteBlaster found
% ByteBlaster mode
% osc = 10kHz -> setup=142, hold=142,141
% Reset
% PgmOn reply FF FF FF FF
% Try 1 to resync by reset pulse % PgmOn reply FF FF FF FF
% Try 2 to resync by reset pulse % PgmOn reply FF FF FF FF
% Try 3 to resync by reset pulse % PgmOn reply FF FF FF FF
% Try 4 to resync by reset pulse % PgmOn reply FF FF FF FF
Can't resync

Reset pin released
Adapter disabled

Ну кто мне поможет теперь?smile.gif
defunct
Цитата(Andbiz @ Nov 20 2008, 17:06) *
Ну кто мне поможет теперь?smile.gif

Наконец-то зашили RSTDSBL? smile.gif
В общем это, чем страдать петрушкой работает-неработает. Может проще купить STK500?
Andbiz
Цитата(defunct @ Nov 20 2008, 20:15) *
Наконец-то зашили RSTDSBL? smile.gif
В общем это, чем страдать петрушкой работает-неработает. Может проще купить STK500?

Нет, еще не успели... Только 4 МК прошили! А на счет STK500 неинтересно... Интереснее со своим повозиться сначала!
defunct
Ок, тогда Вам может помочь только один человек - это Вы ;>

Проблема ваша - с чипом нет связи, чип не откликается.

Напраления:
1. Что-то неконтачит.
2. МК загнан фузами в затруднительное положение.
(для М8 вариантов не так много, всего два):
2.1 - почитать в даташите про CKSEL
2.2 - почитать про RSTDSBL.

Ищите.
Maik-vs
Цитата(defunct @ Nov 21 2008, 04:40) *
Ок, тогда Вам может помочь только один человек - это Вы ;>

Проблема ваша - с чипом нет связи, чип не откликается.

Напраления:
1. Что-то неконтачит.
2. МК загнан фузами в затруднительное положение.
(для М8 вариантов не так много, всего два):
2.1 - почитать в даташите про CKSEL
2.2 - почитать про RSTDSBL.

Ищите.

Ещё, позвольте добавить
3. Прочитать внимательно доку по avreal.

Кстати, если, запуская avreal держать палец на пульсе MISO, то PgmOn reply FF FF FF FF занятно модулируются сетевой наводкой, становится типа FC 3F E0 1F ... Значит, нога висит никуда не притянутая.
Andbiz
Ага
Andbiz
Загнал МК в затруднительное положение при помощи фьюза CKSEL. По не знанию написал вместо числа 2 вторую букву латинского алфавита - B. Вот программатор и пишет "Can't resync" B в двоичном коде означает 01000010. Можно ли каким-нибудь образом вернуть МК к жизни?
ae_
Цитата(Andbiz @ Nov 23 2008, 18:15) *
Загнал МК в затруднительное положение при помощи фьюза CKSEL. ... Можно ли каким-нибудь образом вернуть МК к жизни?

Сделать, как Вам советовал ReAl в посте №6. Прочитать описание ключа -o0 http://www.ln.ua/~real/avreal/description.html#SW_O и подключить XTAL1 к байт-бластеру.
ReAl
Цитата(Andbiz @ Nov 23 2008, 12:15) *
Загнал МК в затруднительное положение при помощи фьюза CKSEL. По не знанию написал вместо числа 2 вторую букву латинского алфавита - B. Вот программатор и пишет "Can't resync" B в двоичном коде означает 01000010. Можно ли каким-нибудь образом вернуть МК к жизни?
"мама дорогая!"
При чём тут ASCII-код символа B ?
B в шестнадцатеричном коде означает 1011 - это и есть установленный 4-битный CKSEL.
И о том, что -f для многобитных fuses принимает шестнадцатеричный код - в описании таки написано...

Поднимать действительно через -o0, если с разгону и ckdiv зашит, то -o0,8
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.