AVR 工作室错误 "Got 0xc0, expected 0x00"

AVR studio Error "Got 0xc0, expected 0x00"

所以我有 5 个使用我设计的 ATmega 2560 的板。它们都已正确连线,最初能够使用 AVRISP mk2 与 AtmelStudio 工作室通信。第一块板能够闪烁,设置了锁定位和保险丝,之后它仍然能够与编程器通信。第二块板最初能够刷新程序,并设置了锁定位,但是在设置保险丝后我得到了错误:

“无法进入编程模式。ispEnterProgMode:收到错误状态:获得 0xc0,预期为 0x00(命令未能在工具上执行)

无法进入编程模式。验证设备选择、接口设置、目标电源、安全位以及与目标设备的连接。"

我什至无法读取设备签名。我想可能是芯片有问题,因为我还有其他 3 个板要使用,所以我就忽略了它。 在对第三块板进行编程时,我经历了同样的程序,但出现了同样的错误。但是第4板在做同样的事情时起作用了。

我对 AVR 领域还是个新手,如果有任何帮助可以让损坏的 2 块电路板正常工作,我将不胜感激。我知道 crystal (16MHz)、编程器甚至 ISP 时钟 (125kHz) 都没有问题。 &它与接线无关。我尝试擦除有故障的芯片,但无法这样做,并且一直出现相同的错误。有没有办法让芯片重置为库存,或者只是为了能够重新建立与芯片的通信。

程序如下: 1)烧写芯片 2) 将锁定位设置为“0xCF” 3) 将保险丝设置为 "EXTENDED 0xFD"、"HIGH 0xD8"、"LOW 0xFF" 4) 再次刷写芯片并收到错误。

低熔丝 0xFF 表示 CKSEL3:0 位为 0b1111。 这意味着选择了低功耗 crystal 振荡器(请参阅 datasheet 第 40 页的 10.4)。

低功耗振荡器在驱动 16 MHz crystal 时可能不稳定,并且无法驱动超过 10 MHz 的陶瓷谐振器。它可能对原理图实现和噪声非常敏感。取而代之的是,最好使用全摆幅振荡器(低熔丝字节 0xF7)。 检查原理图实现、谐振器类型和 XTAL 引脚上的电容。

要恢复 ISP 连接,您可以拆焊谐振器,并在 XTAL1 引脚上施加大约 1 MHz 的方波(请参阅数据表第 339 页上的 30.8)。

我在 Atmel Studio 7 中开始调试时遇到此错误。

  1. 关于启用DWEN保险丝的问题选择是
  2. 然后停止调试并转到Device Programming->Device information->Reload
  3. 解决方案是返回调试(继续 F5)并使用 Debug->Disable debugWire 和关闭结束调试。

因此,如果调试是 运行,则设备编程将被阻止并显示上述错误。

我收到与此线程相同的错误消息,我的原因是另一个。我确实混淆了 MISO 和 MOSI。

所以无论如何,来自你的 MISO 线 ISP/Debugger/Atmle-ICE/etc。转到您的 Atmel 控制器的 MISO 引脚。 MOSI 去 MOSI。相同的 lanble 到相同的标签。

因此没有像串行 TX->RX RX->TX 之类的交叉

试试来自 Microchip studio 的信息。它解决了我的问题。调试线是使用另一个 ide 和会话设置的。

https://microchipsupport.force.com/s/article/ATmega328P-XMINI---Failed-to-enter-programming-mode

我能够使用提供的一些额外步骤的文章解决此问题。鉴于这个问题是一年多前发布的,我希望你已经明白了。

  1. 右键单击您的应用程序和 select 属性 properties
  1. Select左边的工具,把工具从isp改成debugWire,保存(ctrl+s) tool

3) 从那里转到调试菜单并 select 开始调试并中断

  1. 调试器启动后,返回调试菜单并select禁用 debugWire 并关闭。

  2. 关闭 Microchip/Atmel Studio 并重新启动它。

工作室打开备份后,打开您的应用程序并按照步骤 1 和 2 将工具切换回 isp。

我希望这可以帮助其他人 运行 解决这个问题。