高级应用

如何利用Arduino作为AVR ISP烧录bootloader

字号+ 作者:duino123.com 来源:未知 2016-05-10 18:54 我要评论( )

如何利用Arduino作为AVR ISP烧录bootloader

如果你不想购买额外的设备来烧录新的芯片,那么可以利用Arduino作为AVR ISP烧录bootloader
所谓ISP是什么意思呢 : In-System Programmer,在线烧写器

本例程将介绍如何使用Arduino板作为AVR ISP,从而利用arduino对AVR单片机 (如arduino使用的ATmega168/ATmega328)烧写bootloader。

简介

使用您的Arduino给其他AVR烧写引导程序(bootloader),步骤如下:

  1. 1.打开ArduinoISP.ino(File>examples>ArduinoISP)
  2.     注意,如果使用Arduino1.0:你需要对ArduinoISP代码进行小的改动。查找heartbeat()函数,把其中的“delay(40);”,更改为“delay(20)”。
  3.  


 
  1. 2.在Tools>board中,选择对应的arduino型号,(这里是选择作为编程器的板子型号,而不是你将要烧写bootloader的板子型号)。
  2.  


 
  1. 3 上传程序ArduinoISP.ino到Arduino板。
  2. 4.按照下面的示意图连接Arduino到目标板 ,Arduino Uno注意要在reset和GND之间并联一个10 uF电容。
  3. 5.在Tools>board中,选择对应的arduino型号,(这里是选择将要烧写的板子型号)。
  4.  
  5. 6.在菜单中选择Arduino作为ISP  Tools>Programmer
  6. 7.点击Burn Bootloader命令

提示

这个流程适用于相关管脚连接了SPI信号的板子,对于没有连接的板子(如Leonardo的32u4)SPI信号必须连接到ISP连接器上,引脚如下:

电路 (目标板为Arduino Uno/Duemilanove/Diecimila)

An Arduino board serving as an ISP to program the ATmega on another Arduino board. On the Arduino Uno, you'll need to connect a 10 uF capacitor between reset and ground (after uploading the ArduinoISP sketch). Note that you need access to the reset pin on the target board, which isn't available on NG or older boards.

 

电路 (目标板为Arduino NG或者更早版本)

如上图所示,NG或者更早期的板子,需要将Atmega芯片的管脚1连接到 reset线上.

 

电路(目标板为AVR单片机)

使用Arduino板烧写Atmega芯片的时候,由于没有外接时钟,Atmega必须配置为使用内部时钟。 使用Arduino板烧写Atmega芯片的时候,如果使用外部晶振,需要连接电容 (18pF或者F22pF).

如需更详细资料,如有好资源分享,请加入QQ交流群:214461008

欢迎阅读,欢迎转载,不用注明出处!本站只提供入门和进阶资料,做您学习的小伙伴!

老司机也欢迎光临指导!有好内容请加群:214461008 不要看声明了,看内容吧!

相关文章
  • Arduino与摄影专题[一]

    Arduino与摄影专题[一]

    2016-05-27 14:11

  • 自制Arduino-Tiny最小系统

    自制Arduino-Tiny最小系统

    2016-04-27 15:37

  • 硬件木马: 用Arduino制作键盘记录器

    硬件木马: 用Arduino制作键盘记录器

    2016-04-26 13:59

  • Arduino as a programmable logic controller (PLC)

    Arduino as a programmable logic controller (PLC)

    2016-03-27 23:02

网友点评
Arduino