禁用JTAG保险丝后,Xmega-A1 Xplained无响应

时间:2013-01-28 17:21:20

标签: avr avrdude

我有一个XMEGA-A1 Xplained和一个JTAG ICE mkII。我只是试图在Linux上使用avrdude。我做的第一件事是尝试关闭JTAG保险丝以使用PDI(因为Hardware User's Guide表示JTAG和PDI不能一起使用 - 第9.3节),但现在我只有8个快速闪烁的LED并且无法与设备通信。 USB连接器的LED为绿色/红色,但重新插入USB时红色闪烁。如果我按下SW0,LED会停止闪烁,但是一旦我松开它们就会再次启动,按下其他7个按钮中的任何一个似乎都没有效果。

当我尝试与设备进行通信时,我得到的只有:

$ avrdude -p x128a1 -c jtag2pdi -P usb -v

avrdude: jtagmkII_setparm(): bad response to set parameter command: RSP_FAILED
avrdude: jtagmkII_close(): bad response to GO command: RSP_ILLEGAL_EMULATOR_MODE

avrdude done.  Thank you.

如果我使用jtag2slow(之前有效),我会:

avrdude: jtagmkII_setparm(): bad response to set parameter command: RSP_FAILED
avrdude: initialization failed, rc=-1
     Double check connections and try again, or use -F to override
     this check.

avrdude: jtagmkII_close(): bad response to GO command: RSP_ILLEGAL_EMULATOR_MODE

avrdude done.  Thank you.

我用来设置保险丝的命令取自Eclipse生成的命令:-Ufuse4:w:0x1:m

有没有办法“闯入”设备并重新建立通信?

2 个答案:

答案 0 :(得分:1)

这是由于JTAGICE mkII因(自制)鱿鱼电缆连接不良而无法通过PDI连接进行通信而导致的。我做了一个新的,一切都好。由于没有人将这两个连接表放在一起(即AVR帮助中的“连接到PDI目标”和“表4.1:编程标题”),所以需要再次弄清楚正确的连接。在Xplained用户指南中,我的鱿鱼电缆都是灰色的,我在写下连接之前断开了它(不要这样做!)。所以,就是这样。

如何通过PDI将XMega-A1 Xplained与JTAGICE mkII连接

------------------------------------------------------
|         JTAGICE mkII           | XMEGA-A1 Xplained |
|--------------------------------+-------------------|
| Pin | JTAG Name | Squid Colour | Pin |  PDI Name   |
|-----------------+--------------+-------------------|
|  2  |  GND      |  White       |  2  |  GND        |
|  4  |  VTref    |  Purple      |  4  |  VCC        |
|  6  |  nSRST    |  Green       |  6  |  PCI_CLK    |
|  9  |  TDI      |  Red         |  3  |  PDI_DATA   |
------------------------------------------------------

设置保险丝

这在文档中提到,但值得重复一遍:一旦将JTAGEN保险丝设置为1(即禁用JTAG),返回JTAG的唯一方法是建立PDI连接并设置融合回0。

如果无法通过PDI编程,设置保险丝时要非常小心,就像将熔丝字节4设置为0x01,以及设置JTAGEN一样,您也将禁用外部复位(第4位)并且无法使用ISP编程。如果你看上面,你会发现这就是我所做的。

显然,并非所有的JTAGICE mkII都可以做PDI(我可以),所以在你吹掉这个保险丝之前一定要确保!

答案 1 :(得分:0)

我遇到了同样的问题而且它是诱导因为我正在闪烁.elf文件而不是.hex。

为了解决这个问题,我做了下一步:

  1. 断开xplained usb线缆,以便取消微动。
  2. 重新连接USB电缆,并尽可能快地发送命令重新编程micro。如果有人可以帮助更好。
  3. 它对我有用。