分享

新手帖 用ARDUINO给MEGA2560刷BOOT

 quasiceo 2015-09-09
本帖最后由 darkorigin 于 2013-5-12 00:50 编辑

首先对张老师在之前28J60模块调试中给予的帮助以及在此次刷BOOTLOADER中给予的帮助表示感谢!

之前一直怀疑自己的2560因为BOOT版本的原因导致28J60工作不正常

接着由于这个小项目的推进,购买了张老师的mircoduino以及其他模块若干(由于和此文无关暂且带过不表)
接着在论坛里面搜索了2560的刷BOOT过程(中间还无耻的拜了度娘),于是发现不管是各位大神还是各大论坛的ARDUINO教程中刷写ARDUINO主要集中在328P以及其他更廉价的模块,甚至是AVR芯片本身(于是各种构建于面包板的ARDUINO诞生了)
唯独看不见的就是1280以及2560的相关刷法。

经过了请教zcbzjx , 看ARDUINO的图纸,参考2560图纸,等等过程,算是绕了很多圈圈,最终将2560的BOOT成功的刷进去了。。。

备注: 以下称UNO(用来做ARDUINO刷写器的板子)为 UNO ,待刷的板子称作 MEGA;


下面贴出我实现的过程:

材料 :
mircoduino (其他所有兼容UNO的模块均可)  作为ARDUINO  ISP例程 的载体
ARDUINO 2560mega (1280同2560 刷法一样) 作为待刷 BOOTLODER的ARDUINO
杜邦线(其实就是做实验的面包板线)6根

刷写过程:
1. 首先 使用ARDUINO 最新版本的IDE 打开FILE -  Examples -  Arduino ISP 并且按照文末的提示修改代码(算是一个小BUG)
2. 按照连接图连接好主从机(就是UNO和MEGA连接的关系),一定要确认之后再进行连接(连接过程之前拔掉2块板子的供电和COM口,仔细确认后UNO连接USB供电 此时MEGA已经不需要外部电源了,直接由UNO供电和重启),有些错误将导致硬件损坏;
3.检查你的COM口设置。COM口选择你UNO的端口()
   BOAD选择 目标板的型号比如:MEGA (2560或者1280)
4.  打开 TOOLS --- Burn  Bootloader
等待(大概5分钟,没计算时间)

刷好之后UNO会直接给MEGA发送重启的信号, 此时MEGA会如同新生一样,开始了第一个代码(13管脚闪灯代码) 看到13脚的LED闪烁  MEGA刷机就完成了。

连接图:(之前就是因为连接方式的原因,纠结了几个小时,于是万用表,各种图纸,度娘 纷纷出马, 最后发现居然就在ARDUINO ISP程序的注释部分已经列出了接法)

pin name:    not-mega:         mega(1280 and 2560)
slave reset:  10:                    53
MOSI:          11:                    51
MISO:          12:                    50
SCK:            13:                    52

具体连接方式
UNO                      MEGA
    VCC    -------------VCC(不用怀疑 不是VIN 是VCC 实测那个6脚ICMP的2口就是VCC)
    GND   -------------GND
    D10脚------------- Reset(没错 就是VCC前面的脚 用来重新被刷的板子)
  D11脚------------- 51脚  (含义:MOSI)
  D12脚------------- 50脚  (含义:MISO)
  D13脚------------- 52脚  (含义 SCK 时钟)

要点:

首先 使用ARDUINO 最新版本的IDE 打开FILE -  Examples -  Arduino ISP
好吧 。很多同学看到这里,就会毫不犹豫的把UNO给刷上,然后连上线直接刷MEGA了,最后会有一个小惊喜(我卖个关子 后面细说)
由于1.0以后的BOOTLADER启动时间的缩短,校验固件有效性的时间也需要提前了,所以 ISP的代码要修改:
搜索heartbeat() 函数 函数末尾的 delay(40);修改成delay(20); 否则刷完之后会提示
error.PNG

其实仔细的看结果会发现只是校验出错;

其实反之也一样 2560给 328P刷BOOT接线方式:
mega    uno
D51  接 D11;
D50  接 D12;
D52  接 D13;
D53  接 RESET;
VCC  接 VCC;
GND 接 GND;
最后附上ICMP脚的连接图(这样就可以忽略被刷的MEGA和UNO管脚的区别了)

PIN.PNG

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多