Перейти к содержанию
    

После Avreal контроллер не отвечает

Обычно прошивал АТмеги из CodeVisionAVR при помощи "5 проводков" на LPT порт, однако пришлось сменить компьютер, теперь LPT-порта на материнской плате нет. Купил PCI-LPT адаптер, но CodevisionAVR не умеет с ним работать. Решил попробовать прошивать через Avreal.

 

Прошивал примерно с такими параметрами "-as -P0xD800 +mega162 -w -c brel.hex". После прошивки устройство перестало функционировать, горел светодиод на плате в 1/4 накала (хотя в программе никаких ШИМов не было). При нажатии кнопок на устройстве оно не реагировало, но через 10-20 нажатий могло как-то неадекватно промигать светодиодами и опять замолчать. Прошил с теми же параметрами еще пару раз - прошилось. На следующую попытку получал ошибку "Can't resync" - устройство не отвечало. Добавил в командную строку ключ -e (стереть flash), попробовал несколько раз - на пятый раз прошла команда об успешном стирании flash, а за ней привычный "Can't resync".

 

После этого устройство перестала подавать какие-либо признаки жизни (память стерлась видимо успешно). Подключил устройство по обычной схеме к другому компу и попробовал пообщаться через Codevision - не отвечает. С Avreal тоже не отвечает (Can't resync). Что делать? Что могло случится, если я фьюзы не трогал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Вас программатор с шинным формирователем (типа LS244)?

Если нет, то стоит обзавестись.

Гипотетически, при прошивке мог произойти сбой и всё-таки фьюз-биты могли слететь.

Тогда осталось 3 варианта:

1. Выбран внешний генератор в качестве задающего.

Попробуйте подать внешнее тактирование на XTAL1 от любого генератора (хоть с ноги другого MCU).

2. Выбран внешний кварц в качестве задающего, а его нет и впомине. Запаять кварц или сделать как в п1.

3. Cлетел бит отключивший ногу #RESET от сбросовой схемы MCU - в морг.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3. Cлетел бит отключивший ногу #RESET от сбросовой схемы MCU - в морг.

Нельзя так категорично! С этой проблемой может справиться параллельный программатор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно установлена немаленькая емкость по пину RESET - удалить на время прошивки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нельзя так категорично! С этой проблемой может справиться параллельный программатор.
Это конечно да, но судя по моему опыту проще выкинуть. Ибо контроллерами в DIP корпусах в серийных изделиях никогда не пользовался, а геморроитсья с параллельным TQFP программатором как-то нет ни малейшего желания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да.. проще перепаять МК на новый, что я и сделал.

Страшно теперь этим Avreal'ом пользоваться. Посоветуйте, пожалуйста, решение для программирования МК через USB. Внутрисхемное конечно, в идеале небольших габаритов, чтобы в портативные устройства сразу встраивать и выводить наружу miniUSB.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот как раз на прошлой неделе нужно было сверить foat-рассчёты на PC и на AVR, консольную программку написал с #ifdef и для AVR с перенаправлением printf на USART, а под рукой только платка с mega162 нашлась, у меня их когда-то много было.

С десяток раз эту тестировалку вычислений зашивал, всё без проблем. Точнее, сначала как раз и не шилось, оказалось, разболтался разъём шлейфа, потерялся контакт VCC и питание на плату от программатора не поступало. Взял другой шлейф и пошло.

Правда, у меня не "пять проводков". FT2232 и LPT-шный адаптер с шинником 74HC.

 

Этот же контроллер с этим же "адаптером" на обычном LPT из CodeVision прошивался? Т.е. с платой/питанием всё нормально?

Таки что там на сбросе? Конденсаторов больших нет?

Какой частотой тактируется mega162? Ключ -o для этой частоты давать пробовали?

 

Если "-as -P0xD800 +mega162 -w -c brel.hex" это вся командная строка, а контроллер уже какую-то программу имел, то после такой зашивки ничего правильно работать и не должно было, так как новая программа наложилась по AND на старую. Ключ стирания нужно давать.

 

Почему ушло в Can't resync - не понимаю. Критических в это смысле фьюзов у mega162 нет. Ни разу на тако не нарывался. Разве что CKSEL неудачно перешился, но это маловероятно, если команд fises не было.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Страшно теперь этим Avreal'ом пользоваться.

Это лучшее. Я бы рекомендовал показать схему, а до того проверить правильность подключения и целостность контактов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Этот же контроллер с этим же "адаптером" на обычном LPT из CodeVision прошивался? Т.е. с платой/питанием всё нормально?

Таки что там на сбросе? Конденсаторов больших нет?

Какой частотой тактируется mega162? Ключ -o для этой частоты давать пробовали?

 

Если "-as -P0xD800 +mega162 -w -c brel.hex" это вся командная строка, а контроллер уже какую-то программу имел, то после такой зашивки ничего правильно работать и не должно было, так как новая программа наложилась по AND на старую. Ключ стирания нужно давать.

 

Прошивал это устройство CodeVision'ом уже много раз (раз 50 на протяжении месяца точно), ни единой проблемы или ошибки верификации не было. На сбросе нет ничего.

Тактируется кварцем 16 Мгц, ключ -o для данной частоты пробовал, и для некоторых других стандартных тоже (1//4/8 Mhz).

Про ключ понял, но поздно. Хотя почему-то команда стирания один раз из кучи "cant resync'ов" все же прошла. Странно.

 

Это лучшее. Я бы рекомендовал показать схему, а до того проверить правильность подключения и целостность контактов

Схемы в электронном виде нет. Но в ней ничего необычного нет - сам МК, керамический резонатор, и 6 портов ввода-вывода наружу, работающих с разными слаботочными нагрузками.

 

Перепаял в эту же плату новый контроллер - все работает и шьется из CodeVision'а нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перепаял в эту же плату новый контроллер - все работает и шьется из CodeVision'а нормально.
Но это уже на другом компьютере, там, где «обычный» LPT ?

 

Непонятно, что могло случиться. У меги162 не разве что CKSEL в позу вншнего такта либо внешнего RC зашить, чтобы перестало.

Были бы ближе, я бы взял тот «заглохший» для разбирательств. Было бы интересно.

Достоверно именно avreal «гробил» tiny12, tiny15, стирая SPIEN, но это было очень давно (1.22rev0, исправлено в 1.22rev2).

В остальных случаях проблема находилась, иногда даже в avreal, но кристаллы не блокировались.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для статистики добавлю, что avreal'ом зашиты несколько тысяч mega162 (lpt + шинник), и никаких проблем замечено не было.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для статистики добавлю, что avreal'ом зашиты несколько тысяч mega162 (lpt + шинник), и никаких проблем замечено не было.
Аналогично. Адаптеры STK300. Причём у мну мега162 только в одном изделии и их там аж 2 шт. Шьются через 1 разъём (джампером CLK переключается).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...