我有 ATXMEGAA3BU 处理器,我在MacOS上使用 CrossPack 。我想使用我的旧USBASP pragrammer进行“配置”,通过PDI接口对CPU进行编程 - 这不是问题。 问题是我不知道如何在这个ATXmega上设置FUSES。
对于像ATMega8这样的普通CPU, Make 文件中的序列很简单。
只需使用: FUSES = -U hfuse:w:0xd9:m -U lfuse:瓦特:0X24:米
但是Xmega有五个FUSEBYTES,我对它们有问题...所以简单的问题是“如何将JTAGEN从0改为1”?它位于FUSEBYTE4的第0位。如何告诉CrossPack(avr-dude)改变这个或其他来自例如FUSEBYTE0?
谢谢...
答案 0 :(得分:0)
也许这与Robotics StackExchange有关。 但我会在这里回答。
如果您可以切换到窗口,使用CodevisionAVR可以很容易地完成保险丝位改变进度。只需点击一下即可完成。并且它没有这个终端命令的麻烦。
答案 1 :(得分: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,依此类推。在计算熔丝位和锁定位时,你可以给它一个运动预防措施。
答案 2 :(得分: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上测试。