AVR 工作室错误“得到 0xc0,预期为 0x00”
Posted
技术标签:
【中文标题】AVR 工作室错误“得到 0xc0,预期为 0x00”【英文标题】:AVR studio Error "Got 0xc0, expected 0x00" 【发布时间】:2019-07-23 09:02:15 【问题描述】:所以我有 5 个使用我设计的 ATmega 2560 的板。它们都已正确接线,最初能够使用 AVRISP mk2 与 AtmelStudio 工作室进行通信。第一块板能够闪烁,设置锁定位和保险丝,之后它仍然能够与编程器通信。第二块板最初能够刷新程序,并设置了锁定位,但在设置保险丝后我得到了错误:
"进入编程模式失败。ispEnterProgMode: Error status received: Got 0xc0, expected 0x00 (Command has failed to perform on the tool)
无法进入编程模式。验证设备选择、接口设置、目标电源、安全位以及与目标设备的连接。”
我什至无法读取设备签名。我想可能是芯片有问题,因为我有 3 个其他板可以使用,所以我忽略了它。 在对第三块板进行编程时,我经历了相同的过程,并出现了同样的错误。但是第四块板在做同样的事情时工作。
我还是 AVR 领域的新手,如果能帮助我让损坏的 2 块板正常工作,我将不胜感激。我知道晶体(16MHz)或编程器,甚至 ISP 时钟(125kHz)都不是问题。 &它与接线无关。我尝试擦除有故障的芯片,但无法这样做,并且一直出现相同的错误。有没有办法让芯片重置为库存,或者只是能够重新建立与芯片的通信。
过程如下: 1)刷过芯片 2) 将锁定位设置为“0xCF” 3) 将保险丝设置为“EXTENDED 0xFD”、“HIGH 0xD8”、“LOW 0xFF” 4) 再次刷新芯片,接收错误。
【问题讨论】:
【参考方案1】:LOW fuse 0xFF 表示 CKSEL3:0 位为 0b1111。 这意味着选择了低功率晶振(请参考datasheet第40页的10.4)。
低功率振荡器在驱动 16 MHz 晶体时可能会不稳定,并且无法驱动超过 10 MHz 的陶瓷谐振器。它可能对原理图实现和噪声非常敏感。而不是它,最好使用全摆幅振荡器(低熔丝字节0xF7)。 检查原理图实现、谐振器类型和 XTAL 引脚上的电容。
要恢复 ISP 连接,您可以拆下谐振器,并在 XTAL1 引脚上施加大约 1 MHz 方波(请参阅数据表第 339 页上的 30.8)。
【讨论】:
嘿,谢谢,我最终使用了信号发生器,并在振荡器所在的位置将其设置为 4 Mhz 正弦波,这使得芯片再次通信。然后将建议的 0xF7 设置为低保险丝,现在一切正常!!!谢谢!!【参考方案2】:我在 Atmel Studio 7 中开始调试时遇到此错误。
-
关于启用 DWEN 保险丝的问题选择是
然后停止调试,转到
Device Programming->Device information->Reload
。
解决方案是返回调试(按 F5 继续)并使用 Debug->Disable debugWire
结束调试并关闭。
因此,如果运行调试,则会阻止设备编程并显示上述错误。
【讨论】:
【参考方案3】:我收到了与此线程相同的错误消息,我的原因是另一个原因。我确实混淆了 MISO 和 MOSI。
但是,您的 ISP/Debugger/Atmle-ICE/etc 的 MISO 行。转到 Atmel 控制器的 MISO 引脚。 MOSI去MOSI。同一个标签到同一个标签。
所以没有像串行 TX->RX RX->TX 东西等的交叉。
【讨论】:
【参考方案4】:从 Microchip 工作室尝试此信息。它解决了我的问题。调试线是通过使用另一个 ide 和会话设置的。
https://microchipsupport.force.com/s/article/ATmega328P-XMINI---Failed-to-enter-programming-mode
【讨论】:
【参考方案5】:我能够使用附带一些额外步骤的文章解决此问题。鉴于此问题是一年多前发布的,希望您已经弄清楚了。
-
右键单击您的应用程序并选择属性
properties
-
选择左侧工具,将工具从isp改为debugWire并保存(ctrl+s)
tool
3)从那里转到调试菜单并选择开始调试和中断
调试器启动后,返回调试菜单并选择禁用 debugWire 并关闭。
关闭 Microchip/Atmel Studio 并重新启动它。
工作室打开后打开您的应用程序并按照步骤 1 和 2 将工具切换回 isp。
我希望这可以帮助其他遇到此问题的人。
【讨论】:
以上是关于AVR 工作室错误“得到 0xc0,预期为 0x00”的主要内容,如果未能解决你的问题,请参考以下文章