手上有两块几年前买的arduino nano板子,这两天要用的时候发现用arduino IDE 1.8.11烧写的时候始终报错“上传失败”。查阅相关资料发现应该在 IDE–工具–处理器 中选择ATmega238P(Old Bootloader)即可上传成功。
这也侧面说明了我的板子的BootLoader已经旧了,不如顺便更新一下。

  • 烧写BootLoader至少需要两块arduino板,其中一个作为ISP下载器,另一个则是需要被烧写的板子(它们的型号可以不一样)
  • 本例将用两块arduino nano ATmega238P(Old Bootloader) 互相依次更新为最新的BootLoader

过程

1. 将ISP下载器的程序烧录进第一块arduino板(下文将其称为 ISP板):

打开 arduino IDE – 示例 – 11.ArduinoISP 示例文件,并上传(烧录)进arduino板中,因为两块板子都是old BootLoader,所以应注意此时选择的处理器应为“ATmega238P(Old Bootloader)”才能成功上传。


2. 将第二块arduino板(被烧录板)与ISP板相连:

本例中使用的arduino nano 的ISP接口是D10~D13口,分别是SS, MOSI, MISO, SCK

将ISP板与被烧录板的MOSI(D11), MISO(D12), SCK(D13), GND, 5V 引脚相接,将ISP板的SS(D10)引脚与被烧录板的RST引脚相接

ISP板 被烧录板
MOSI(D11) MOSI(D11)
MISO(D12) MISO(D12)
SCK(D13) SCK(D13)
GND GND
5V 5V
SS(D10) RST

注:由于不同型号的arduino板在引脚复用时对应的引脚不一样,所以括号内的引脚名称仅适用于arduino nano 和arduino UNO。若要使用arduino mega2560 等其他型号的板子时,注意对应的ISP接口与引脚号的对应与此表括号内的引脚号是不同的。


3. 进行BootLoader烧写
在 IDE–工具–处理器 中选择ATmega238P,选择没有括号的那个,作为要烧写进去的版本

IDE–工具–编程器 中选择Arduino as ISP

点击“烧录引导程序”即可完成烧写。


至此第二块Arduino nano 板的BootLoader已经烧写(更新)为最新的了。而第一块nano板作为ISP下载器,其中的BootLoader并未更新。接下来对调两者的角色,再如法炮制即可。

需要注意的是,此时给第二块(已更新)的nano板烧录ISP程序时,在IDE–工具–处理器 中就应该选择 ATmega238P了,烧录好ISP程序后,然后再给第一块板烧录BootLoader。


常见报错

在烧录引导程序的时候有过这样的报错:
avrdude: ser_open(): can't open device "\\.\COM10": ϵͳ�Ҳ���ָ�����ļ���
错误原因是串口端口被占用,尝试关闭IDE或其他软件的串口监视器后重试。

还有报错:
avrdude: Expected signature for ATmega328P is 1E 95 0F. Double check chip, or use -F
或:
Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.

解决方案:
在 IDE–文件–首选项 中把所有的调试信息(显示详细输出)打开,若显示Device signature = 0x000000Device signature = 0xffffff等情况,其实不是真的芯片签名有误,而是电路连接有问题,再次检查接线是否接对。


总结

总体思路是:

  1. 上传例程“11.ArduinoISP”,将其中一块Arduino作为ISP烧写器。
  2. 通过ISP引脚将两块板子相连。
  3. 选择BootLoader版本并上传。

值得注意的有两点:

  1. 我们会在步骤1和步骤3,两次涉及到在 IDE–工具–处理器 中选择处理器型号。其中步骤1中选择的是上传程序的那块板子(跟电脑用USB连接的那块)的处理器(BootLoader)型号。步骤3中选择的是要被烧写BootLoader的那块板子(用引线连接的那块)的处理器(BootLoader)型号。
  2. 这两块Arduino板的型号可以不一样,但要注意它们对应的ISP的引脚号也会不一样。不能单纯按照板子上印刷的引脚号相应连接,而应该找各个板子的PinMapping,找到对应的ISP的引脚。
ISP引脚 nano和UNO mega2560
SS D10 D53
MOSI D11 D51
MISO D12 D50
SCK D13 D52

觉得有用的话,不要吝惜评论点赞分享哦,希望大家多多包涵,有任何问题欢迎指正、讨论。
本文基于CC-BY-SA 4.0协议,欢迎转载
(博客看累了?去我的B站瞧一瞧?)

用Arduino板为另一块Arduino烧写(更新)BootLoader相关推荐

  1. 100ASK_全志V853-PRO开发板 环境配置及编译烧写

    0.前言 本章主要介绍关于100ASK-V853-PRO开发板的Tina SDK包的下载和编译打包生成镜像,并将镜像烧录到100ASK-V853-PRO开发板上.在进行100ASK-V853-PRO开 ...

  2. 【学习分享】2、创龙 TMS320C6748开发板程序加载和烧写(一)

    此部分由于篇幅过长,将分为五个小点进行叙述,此处主讲基于仿真器的程序加载和烧写,所用器件为创龙TMS320C6748开发板.需要注意的点已在备注中进行说明. 如果需要从头开始进行本使用手册的阅读,欢迎 ...

  3. 【学习分享】2、创龙 TMS320C6748开发板程序加载和烧写(四)

    此部分由于篇幅过长,将分为五个小点进行叙述,此处主讲基于SD卡烧写程序到NAND FLASH,所用器件为创龙TMS320C6748开发板.需要注意的点已在备注中进行说明. 如果需要从头开始进行本使用手 ...

  4. 【学习分享】2、创龙 TMS320C6748开发板程序加载和烧写(二)

    此部分由于篇幅过长,将分为五个小点进行叙述,此处主讲基于串口的程序加载和烧写,所用器件为创龙TMS320C6748开发板.需要注意的点已在备注中进行说明. 如果需要从头开始进行本使用手册的阅读,欢迎阅 ...

  5. 嵌入式系统烧写uboot/bootloader/kernel的一般方法

    嵌入式系统烧写uboot/bootloader/kernel的一般方法 本文介绍了在嵌入式系统中烧写uboot/bootloader/kernel 的一般方法,以及如果uboot或者内核出现错误,   ...

  6. 开发板之驱动安装与烧写程序

    硬件接口 开发板接口:板载USB串口.JTAG.usb下载口(dnw) 软件下载 USB串口连接及驱动安装 串口驱动的安装非常简单: 运行串口驱动 PL2303_Prolific_DriverInst ...

  7. 迅为RK3568开发板鸿蒙OpenHarmony系统固件烧写

    7.1 准备烧写器 1 首先拷贝烧写器(烧写器在光盘资料"iTOP-3568 开发板\01_[ iTOP-RK3568 开发板]基础资料\02_iTOP-RK3568 开发板烧写工具及驱动& ...

  8. 黑金开发板在NiosII环境下烧写image到flash失败的解决办法

    网上看到很多朋友和我遇到一样的问题,貌似都没有解决,所以在此记录下. 背景:1.利用QuartusII与NiosII EDS软件进行软硬件开发: 2.硬件:黑金开发板AX301, 3.软件:led流水 ...

  9. ESP8266教程——烧写更新固件

    前两次讲解了8266的基本用法和AT指令,这次教你们如何更新固件.一般8266芯片出厂会自带固件的,假如没有或者版本比较老,可以按照下面的方法更新一下固件. 一.登录安可信官网 从wiki页面中选择8 ...

最新文章

  1. 成为计算机视觉工程师的第一个月,我都学会了什么?
  2. 华人科学家胡安明被判无罪!曾因「中国行动计划」被FBI紧盯两年,遭软禁18个月...
  3. JavaScript初学者编程题(24)
  4. Ubuntu 输入法安装
  5. Caused by: java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource
  6. 计算机软件中os具有什么功能,[计算机软件及应用]OS第三章1.ppt
  7. [c#]获取exchange中的图片
  8. ARM 指令集跳转指令
  9. winpcap的使用
  10. Git下载安装(官网) 拉取代码的两种方法
  11. SDIO wifi Marvell8801/Marvell88w8801 介绍(二) ---- SDIO协议介绍
  12. 一个简单的推荐系统实现
  13. html写信模板,求给签证官写信的模板。。。
  14. UVA, 563 Crimewave
  15. 人工智能产业链的三个核心,底层硬件、通用AI技术及平台、应用领域相关公司盘点
  16. Redis(设置失效时间,RedisDesktopManger远程管理工具)
  17. 建仓类型与对应建仓价MT4
  18. 微信小程序前端设计,以北京动物园为例
  19. 【2021-11-21】【Kotlin】表达式同时包含算术与移位运算(shl / shr / ushr)时,注意运算符的优先级。
  20. 麦田音乐节,只等你来

热门文章

  1. ubuntu 安装zoom
  2. 1037u支持64位linux吗,英特尔® 赛扬® 处理器 1037U
  3. Multi-task learning of facial landmarks and attributes with Tensorflow(一)
  4. java 线程锁Lock
  5. 串级PID及角度过零处理
  6. 微信小程序----事件绑定
  7. linux下配置NAT服务
  8. 同轴电缆阻抗总结(电阻、阻抗、特性阻抗)
  9. JavaScript日期时间详解
  10. 【DFS】先简单说说DFS分布式存储系统和fastDFS