您可以将 Arduino 用作 AVR 程序员吗?
Arduino 作为 AVR 程序员
我使用上面提到的 mega-isp 解决方案 - Arduino avrisp 草图在这里
http://code.google.com/p/mega-isp/downloads/list
我不使用他们拥有的屏蔽 - 我使用两个 6 针双列直插式插头插座制作了一条简单的电缆,以适合您的 Arduino 上的编程 ISP 连接器。(我没有两个 Dil 插座,所以我使用了标准的单线插座,并将两个 3 针插座强力粘合在一起。
然后,您需要一根带状电缆或一些电线。
将一个插座上的每个引脚连接到另一个插座上的相应引脚,但引脚 5 = 复位除外。将电缆的一端连接到引脚 5 - 这是连接到您希望编程的目标 AVR 的一端。将引脚 5 线的另一端连接到浮动引脚连接器。
要将电缆连接到 arduino,方法是放置在 ISP 编程连接器上并将浮动引线连接到数字 10,将另一端连接到目标 ISP 连接器。您需要确保引脚 1 匹配。
使用 avrdude 编程
avrdude -P com7 -p t2313 -c avrisp -b 19200 -U flash:w:fred.hex
where
com7 - the com port that the Arduino based programmer is on
t2313 - the type of AVR you wish to program (m328 for ATMega328).
fred.hex - the name of the hex file you wish to progam into the target.
我已经用它对 Tiny2313 进行了编程,没有任何问题。
注意:电缆将携带 5v 为目标供电 - 如果目标已通电,则不要连接电缆的引脚 2。
这个解决方案也很好用: Kimio Kosaka avrdude-serjtag method
如果您组装了自己的计算机,则可能有备用的安装在外壳上的 USB 电缆/连接器,这些电缆/连接器通常与新的主板一起提供。只需卸下 USB 端,即可将主板连接器用作 ISP 连接器。
可以使用这样的批处理文件:(这是针对 328 芯片的,将为高速传输设置熔断器,然后上传引导加载程序,并在完成后设置锁定位。
avrdude -c diecimila -P ft0 -p m328p -B 4800 -U lock:w:0x3F:m -U efuse:w:0x05:m
-U hfuse:w:0xDA:m -U lfuse:w:0xFF:m
avrdude -c diecimila -P ft0 -p m328p -U flash:w:ATmegaBOOT_168_atmega328.hex -U
efuse:w:0x05:m -U hfuse:w:0xDA:m -U lfuse:w:0xFF:m -U lock:w:0x0F:m
是的,您可以将 Arduino 用作 AVR 程序员!
看看mega-isp项目。
如果您需要高压编程(否则您有一个死芯片),您可以尝试这个解决方案 http://www.mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/