-1

所以我有 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) 再次刷新芯片并接收错误。

4

5 回答 5

3

LOW fuse 0xFF 表示 CKSEL3:0 位为 0b1111。这意味着选择了低功率晶体振荡器(请参阅数据表第 40 页上的 10.4 )。

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

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

于 2019-03-01T11:42:28.347 回答
1

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

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

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

于 2020-08-18T22:38:37.447 回答
0

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

那么无论如何,来自您的 ISP/Debugger/Atmle-ICE/etc 的 MISO 行。转到 Atmel 控制器的 MISO 引脚。MOSI去MOSI。同一个标签到同一个标签。

所以没有像串行 TX->RX RX->TX 东西等的交叉。

于 2020-12-30T17:16:41.683 回答
0

试试 Microchip Studio 提供的这些信息。它解决了我的问题。调试线是通过使用另一个 ide 和会话设置的。

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

于 2021-03-01T15:39:13.753 回答
0

我能够使用附带一些额外步骤的文章来解决此问题。鉴于这个问题是一年多前发布的,我希望你已经弄清楚了。

  1. 右键单击您的应用程序并选择属性 属性
  1. 选择左侧工具,将工具从isp改为debugWire并保存(ctrl+s) 工具

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

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

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

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

我希望这可以帮助其他人遇到这个问题。

于 2021-12-01T17:02:14.097 回答