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

Проблема с прошивкой Atmega88 через JTAGICE mkII

Кто сталкивался с таким феноменом, подскажите, в чём фишка.

Опишу проблему. Я работаю с платой на МК ATmega88PA и прошиваю её программатором JTAGICE mkII с помощью AVR Studio.

При обычной прошивке для этого в AVR Studio я использую кнопку "Connect to the Selected AVR Programmer", программатор подключается через USB. Если после обычной прошивки потребовалось перейти на отладочную, AVR Studio нужно разрешить debugWire через SPI. А для запрета debugWire нужно в одном из пунктов меню Debug (...JTAGICE mkII) запретить debugWire. Это известно. А теперь сама ситуация.

Через несколько раз (большой статистики не набирал, но где-то после 10-12 раз) перестаёт читаться сигнатура, фьюзы - на любую попытку обратиться к МК AVR Studio ругается, вываливая окошко "ISP Mode Error, а в нижней статус-панельке появляется строка "Entering programming mode.. FAILED". Если попробовать перейти на отладочную прошивку, то после подтверждения "Use SPI to enable debugWire interface" AVR studio не может этого сделать и ругается "Failed to enter SPI mode". И во всех случаях AVR studio рекомендует проверить кабели.

Проблема нешуточная - перепрошивка платы после 10 раз становится невозможной - хоть покупай новый МК. :(

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


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

Странно.... у меня полно ATMega88 и тоже JTAGICEmkII и не разу такая хурма не встречалась.

Иногда глючит но обычно решается снятием и подачей заново, питания

Изменено пользователем IgorKossak
Бездумное цитирование

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


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

В принципе я бы особо не заморачивался на эту тему, но руководство фирмы заявляет, что во всём виновата программа, которую я прошиваю в МК. Я облазил даташит вдоль и поперёк, но так и не нашёл никаких признаков того, что программа МОЖЕТ как-то повлиять на сам МК. Но этого не объяснишь, да и вообще проблему всё равно надо как-то решать, потому что это ненормально. Но я ведь прав в том, что программа никаким боком не виновата в этой проблеме. И кроме того, непонятно, почему Entering programming mode FAILED. Если я правильно понял, это либо не работает регистр SPMCSR, в который делается запись для программирования Flash-памяти МК (её можно програмировать до 10000 раз, если верить даташиту), либо интерфейc SPI. Но почему???

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


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

А вы elf файлами не пользуетесь случаем?

Изменено пользователем IgorKossak
Бездумное цитирование

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


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

А вы elf файлами не пользуетесь случаем?

Нет, исключительно HEX. Впрочем, когда наступает эта бодяга, уже неважно - я не попадаю ни в одно нужное окно.

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


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

не нашёл никаких признаков того, что программа МОЖЕТ как-то повлиять на сам МК.
Ещё как может! Например, если ошибочно включить (пусть и ненадолго) ногу порта на вывод, в то время как на эту ногу идёт сигнал извне... Попробуйте произвести эксперимент: на ПП распаять только МК (без всего "окружения") и несколько раз проделать все те действия по программированию МК, что приводили к его неработоспособности.

 

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


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

Проблема нешуточная - перепрошивка платы после 10 раз становится невозможной - хоть покупай новый МК. :(

Параллельным программатором его - поможет :). Описано сумбурно, но, полагаю, что это атмеловская шутка с накрыванем медным тазом DW интерфейса при снятии тактирования с SPI. SPI не работает, потому, что активизированн DW, а DW не работает по тому, что программа сняла тактирование с SPI. Помню сильно ругался, когда наступил. И самое главное - ну не нужно мне было отлаживаться, просто решил глянуть, как этот DW работает.

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


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

Вопрос из зала: "А может на это влиять схемотехническое решение линии Reset? Скажем, неуверенное тактирование или уровни?"

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


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

Добрый день Всем! АВР недавно начал изучать. И пока разбирался успел испортить 2 микросхемы(после попытки включения в отладчике режима DW). Я так понял что можно стереть фьюзы путем High voltage programming.

Вопрос в том как мне войти в этот режим.

У меня STK500, плата расширения STK520 и программатор ice mkII.

соединил шлейфы как указано в datashit для 520, далее там отсылают к даташиту 500 по настройке jamperов, т.к. в описании нет моих мк (pwm2b/3b),то выставил все jampеры, т.е.на pjmp 2 перемычки, bsel соединил с pc2.

программатор оставил подключенным к spi разъему,

в итоге в avr studiо у меня не получилось реализовать высокого напряжения программирование

Куда подключать программатор и что я не так делаю, в руководстве не получаетс яразобраться чтоо

 

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


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

Через несколько раз перестаёт читаться сигнатура, фьюзы - на любую попытку обратиться к МК AVR Studio ругается, вываливая окошко "ISP Mode Error, а в нижней статус-панельке появляется строка "Entering programming mode.. FAILED". Если попробовать перейти на отладочную прошивку, то после подтверждения "Use SPI to enable debugWire interface" AVR studio не может этого сделать и ругается "Failed to enter SPI mode"

Похоже, такое случается, когда частота клоков отлаживаемого устройства и программатора не совсем соответствуют друг другу. Было такое у меня, решается банально просто. После появления "ISP Mode Error" переходите в режим отладки, там выключите DW режим (подзабыл, как называется строка, можно найти перебором), затем переходите обратно в "ISP Mode", должно заработать.

 

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


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

решается банально просто. После появления "ISP Mode Error" переходите в режим отладки, там выключите DW режим

 

+1

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


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

Уважаемые коллеги!

Некоторое время занимался другими устройствами. Перед тем, как к ним перейти, прошил несколько свеженьких чистых плат с моим МК. Теперь потребовалось проверить изменения в новой версии. Однако одна из этих плат, которую я взял для проверки, тоже отказалась прошиваться - тем же манером (см. выше). Здесь уже не было никаких переходов - всего одна процедура прошивки. И тем не менее.

Кстати, о переходе в режим отладки и отключении DW. После входа в отладку, если он заругался на SPI, пункт меню, позволяющий отключать DW, просто в меню Debug не появляется. Так что воспользоваться этим советомне получается.

И самое интересное - сам прибор, его программа продолжает функционировать как ни в чём не бывало! Она воспринимает команды извне, отвечает на них и опрашивает все порты и все прерывания. Кроме сигнатуры... :(

Изменено пользователем Lemist

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


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

To Lemist - запаяны ли на вывод сброса подтягивающий резистор и конденсатор на землю? Если да, то уберите их совсем.

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


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

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

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

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

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

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

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

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

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

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