所以我有5个使用我设计的ATmega 2560的板。它们都已正确布线,最初可以使用AVRISP mk2与AtmelStudio工作室进行通信。第一块板能够闪烁,设置了锁定位和熔丝,之后仍然可以与编程器通信。第二块板最初能够刷新程序,并设置了锁定位,但是在设置了保险丝之后,我得到了错误:
“无法进入编程模式。ispEnterProgMode:收到错误状态:得到0xc0,预期为0x00(命令在该工具上执行失败)
无法进入编程模式。验证设备选择,接口设置,目标电源,安全位以及与目标设备的连接。”
我什至无法读取设备签名。我以为这可能是芯片故障,而且由于我还有其他3个板要工作,所以我只是忽略了它。 在对第三块板进行编程时,我经历了相同的过程,并且出现了相同的错误。但是第四局在做同样的事情时也起作用。
我还是AVR领域的新手,希望能帮助破损的2个板工作。我知道这不是晶体(16MHz),程序员,甚至ISP时钟(125kHz)的问题。 &与接线无关。我尝试擦除有故障的芯片,但无法执行此操作,并不断出现相同的错误。有没有办法使芯片复位为库存,或者只是能够与芯片重新建立通信。
过程如下: 1)刷新芯片 2)将锁定位设置为“ 0xCF” 3)将保险丝设置为“ EXTENDED 0xFD”,“ HIGH 0xD8”,“ LOW 0xFF” 4)再次刷新芯片并收到错误。
答案 0 :(得分:1)
LOW保险丝0xFF表示CKSEL3:0位为0b1111。 这意味着已选择了低功耗晶体振荡器(请参见datasheet第40页的10.4)。
当驱动16 MHz晶体时,低功率振荡器可能不稳定,并且无法驱动超过10 MHz的陶瓷谐振器。它可能对原理图的实现和噪声非常敏感。取而代之的是,最好使用全摆幅振荡器(低熔丝字节0xF7)。 检查原理图的实现,谐振器的类型和XTAL引脚上的电容。
要恢复ISP连接,您可以拆下谐振器的焊料,并在XTAL1引脚上施加约1 MHz的方波(请参见数据表第339页的30.8)。
答案 1 :(得分:0)
在Atmel Studio 7中开始调试时出现此错误。
Device Programming->Device information->Reload
。Debug->Disable debugWire
和Close结束调试。因此,如果运行调试,则设备编程将被阻止,并显示以上错误。
答案 2 :(得分:0)
我收到与此线程相同的错误消息,我的原因是另一个。我确实混淆了 MISO 和 MOSI。
那么,来自您 ISP/Debugger/Atmle-ICE/etc 的 MISO 行。转到 Atmel 控制器的 MISO 引脚。 MOSI去MOSI。同一个标签到同一个标签。
所以没有像串行 TX->RX RX->TX 这样的交叉。
答案 3 :(得分:0)
试试 Microchip 工作室提供的信息。它解决了我的问题。调试线路是从使用另一个 IDE 和会话设置的。
https://microchipsupport.force.com/s/article/ATmega328P-XMINI---Failed-to-enter-programming-mode