Состояние соединения AVRISPmkII: Неизвестный статус 0x00

Ну... Я искал в Интернете во многих уголках... но я не мог найти решение своей проблемы. В прошлый раз, когда я использовал свой AVRISP2, он работал нормально. Теперь я получаю следующее сообщение, когда пытаюсь написать свою программу на УК:

avrdude: stk500v2_command(): command failed
avrdude: stk500v2_program_enable(): bad AVRISPmkII connection status: Unknown status 0x00
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

Я нашел много постов в интернете, но не было никаких решений. Кто-нибудь знает, в чем может быть проблема?

Я уже проверил контакты, я обновил прошивку провайдера (blinkdemo работает).

Спасибо за любые подсказки..

3 ответа

Решение

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

Проблема заключалась в том, что интернет-провайдер, в моем случае USB-Prog 3.3, слишком быстро говорил с моим Atmega8, который работал только на частоте 1 МГц. Таким образом, есть два возможных решения:

  • замедлить скорость провайдера
  • ускорить скорость Atmega8

Я где-то красный, что провайдер не должен быть быстрее, чем 1/4 скорости нижележащего микроконтроллера.

Следующие строки спасли мой день:

Он устанавливает Atmega8 на 8 МГц и дает 64 мс для ускорения этой частоты.

avrdude -p atmega8 -P usb -c avrispv2 -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m -B 22

Вот выдержка из man-страницы avrdude:

`-B BITCLOCK'
        Specify the bit clock period for the JTAG interface or the ISP
        clock (JTAG ICE only).  The value is a floating-point number in
        microseconds.  The default value of the JTAG ICE results in about
        1 microsecond bit clock period, suitable for target MCUs running
        at 4 MHz clock and above.  Unlike certain parameters in the
        STK500, the JTAG ICE resets all its parameters to default values
        when the programming software signs off from the ICE, so for MCUs
        running at lower clock speeds, this parameter must be specified on
        the command-line.

Дополнительно хочу порекомендовать AVR Fuse Calculator для Android - он кажется очень полезным инструментом для программистов микроконтроллеров.

Другой (распространенной?) Проблемой может быть отсутствие кристалла при попытке прошиться прямо на макете. Я уже дважды это забыл и тоже получил это сообщение об ошибке. Поэтому помимо подключения выводов ISP также убедитесь, что конденсаторы crystal plus подключены к контактам XTAL1 и XTAL2 ATmega, если он настроен на использование внешнего генератора (см. Таблицу данных ATmega).

Прежде всего, я бы порекомендовал вам проверить сам микроконтроллер. У меня такое же сообщение об ошибке, и я обнаружил, что моя Atmega была повреждена. Обмен на новый исправил проблему.

Другие вопросы по тегам