【问题标题】:AVRISPmkII connection status: Unknown status 0x00AVRISPmkII 连接状态:未知状态 0x00
【发布时间】:2013-03-09 16:46:38
【问题描述】:

嗯.. 我一直在网上搜索很多角落.. 但我找不到解决问题的方法。上次我使用我的 AVRISP2 时效果很好。现在,当我尝试在 uC 上编写程序时收到以下消息:

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.

我在互联网上找到了很多帖子,但没有任何解决方案。有谁知道可能是什么问题?

我已经检查了引脚,我更新了 ISP 的固件(blinkdemo 工作)。

感谢您的任何提示..

【问题讨论】:

  • 你确定波特率正确吗?
  • 问题不在于我无法访问我真正想要编程的 Atmel。问题是 ISP 上的 Atmel。可以将固件写入芯片,但是当 avrdude 想要对我的实际控制器进行编程时,他没有得到任何响应..

标签: microcontroller avr avrdude


【解决方案1】:

我和我的一些朋友花了很多时间,但经过数小时的搜索、尝试和“调试”,我们能够解决问题。我希望这可以帮助遇到同样问题的其他人解决它。

问题在于 ISP,在我的例子中是 USB-Prog 3.3,与我的 Atmega8 的通信速度太快了,而 Atmega8 的运行速度仅为 1MHz。所以有两种可能的解决方案:

  • 减慢 ISP 的速度
  • 加快 Atmega8 的速度

我在某处发红,表示 ISP 的速度不得超过底层微控制器速度的 1/4。

以下几行拯救了我的一天:

它将 Atmega8 设置为 8MHz,并给它 64ms 的时间来加速该频率。

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

这里是 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.

此外,我想推荐适用于 Android 的 AVR Fuse Calculator - 对于微控制器程序员来说,它似乎是一个非常有用的工具。

【讨论】:

  • 我会这样做,但我必须等待 2 天才能将自己的答案标记为已解决..
  • 我遇到了同样的问题 avrdude -p atmega1284p -P usb -c avrisp2 -U lfuse:w:0x62:m -U hfuse:w:0xd9:m -B 12 这个 awnswer 没有解决这个问题有什么指示吗?
  • 恐怕我无法为您提供帮助,因为我没有时间深入研究这个问题。如果您确定您的 ISP 和您的 AVR 以正确的速度进行通信,那么错误可能在其他地方。
  • 谢谢,BITCLOCK 在一些板上也给了我错误。
【解决方案2】:

另一个(常见?)问题可能是尝试直接在面包板上闪烁时缺少晶体。我已经忘记了两次,并且还收到了此错误消息。因此,除了连接 ISP 引脚外,如果 ATmega 配置为使用外部振荡器(请参阅 ATmega 的数据表),请确保将晶体加电容器连接到 ATmega 的 XTAL1 和 XTAL2 引脚。

【讨论】:

    【解决方案3】:

    首先,我建议您检查微控制器本身。我收到了同样的错误信息,我发现我的 Atmega 已损坏。换一个新的解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-14
      • 1970-01-01
      • 2020-06-19
      • 1970-01-01
      • 2011-04-03
      • 1970-01-01
      • 2019-04-03
      • 2021-12-01
      相关资源
      最近更新 更多