0

我有一个ATXMEGAA3BU处理器,我在我的 MacOS 上使用了CrossPack。我想使用我的旧 USBASP pragrammer,它是“配置”的,通过 PDI 接口对 CPU 进行编程——这不是问题。问题是我不知道如何在这个 ATXmega 上设置 FUSES。

对于像 ATMega8 这样的普通 CPU,Make文件中的序列很简单。
只需使用这个:FUSES = -U hfuse:w:0xd9:m -U lfuse:w:0x24:m
但是 Xmega 有五个 FUSEBYTES,我对它们有疑问......所以简单的问题是“如何改变例如JTAGEN 从 0 到 1"?它位于 FUSEBYTE4 中的第 0 位。如何告诉 CrossPack (avr-dude) 从例如 FUSEBYTE0 更改这个或其他?

谢谢...

4

3 回答 3

0

也许这与Robotics StackExchange有关。但我会尝试在这里回答。

如果您可以切换到 windows,使用 CodevisionAVR 可以轻松完成熔丝位更改进度。只需单击几下即可完成。它没有这个终端命令的麻烦。

于 2013-06-02T20:32:05.520 回答
0

请参阅 xmega a3bu 的数据表:http: //www.atmel.com/Images/Atmel-8331-8-and-16-bit-AVR-Microcontroller-XMEGA-AU_Manual.pdf

熔丝字节的名称是:FUSEBYTE0, FUSEBYTE1, ... FUSEBYTE5。没有 FUSEBYTE3。你有没有尝试过

-U fusebyte0:w:0xd9:m -U fusebyte1:w:0x24:m -U fusebyte2:w:0x24:m 等等。您可以在计算保险丝位和锁定位时采取预防措施。

于 2014-02-21T13:39:06.903 回答
0

我知道这对于 OP 来说可能为时已晚,但对于遇到这个问题的其他人(比如我)来说,你也可以添加

FUSES =
{
    0x00,//sets jtag address
    0xAA,//fuse byte 1
    0x9D,//f byte 2
    0x00,//unused
    0xDE,//f byte 4
    0x1E //f byte 5
};

到您的 main.c 文件的顶部,编译器/程序员将负责刷新它们。

在 xmegaA4 上测试。

于 2015-11-05T10:11:10.690 回答