Arduino 一次性烧录引导程序和用户程序的方法

本文介绍了如何使用Arduino IDE、USBasp烧录器和Progisp软件,一次性烧录引导程序和用户程序。通过详细步骤,包括软硬件准备、驱动安装、.hex文件提取和程序烧录,大大简化了批量烧录的过程,节省时间。

一、所需的软硬件及驱动

1、硬件

USBasp烧录器

2、软件

Arduino IDE
官方下载地址:https://www.arduino.cc/en/Main/Software
Progisp
链接:https://pan.baidu.com/s/111nHoiIHuKfKO68GcjWaHg
提取码:yy4w

3、驱动

USBasp驱动
链接:https://pan.baidu.com/s/15giP5JHEZNOXhJA_GerOug
提取码:7s9j

二、利用Arduino IDE提取带引导的用户程序.hex文件

1、打开Arduino IDE

在这里插入图片描述
点击文件->打开
在这里插入图片描述
选择你要提取的程序
在这里插入图片描述
在这里插入图片描述
点击项目->导出已编译的二进制文件
在这里插入图片描述
在这里插入图片描述
此时在你程序所在的目录下会生成两个.hex文件,.standard.hex是单纯的用户程序,.bootloader.standard.hex是引导程序+用户程序,我们需要的就是这个.bootloader.standard.hex文件
在这里插入图片描述

三、USBasp驱动的安装

1、将USBasp烧录器插入电脑的USB口

2、打开下载好USBasp驱动文件目录下的InstallDriver.exe

在这里插入图片描述
点击下一步
在这里插入图片描述
驱动安装完成
在这里插入图片描述

四、程序烧录

1、将USBasp烧录器的另一端与Arduino相连接

另一端引出的6根排针与Arduino 电路板上的单片机相连接,分别对应 5V,MISO,MOSI,SCK,GND 和 RESET

2、解压下载好的Progisp.zip,并打开progisp.exe

在这里插入图片描述
在这里插入图片描述在Select Chip选择你的Arduino板子型号,然后再点击左侧的调入Flash,选择我们导出的带引导的程序.bootloader.standard.hex文件
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
设置编程熔丝位,第一种方法,从已经烧录好引导的相同型号的Arduino版直接读出熔丝位,点击要右下角的 。。。按钮
在这里插入图片描述
点击读出
在这里插入图片描述
在这里插入图片描述
第二种方法,打开Arduino IDE根目录下的.\hardware\arduino\avr\boards.txt文本
在这里插入图片描述
查询你板子的型号,像我的板子是Arduino/Genuino Uno,查询到的熔丝低位为0xFF,高位为0xDE,拓展位为0xFD,跟上面读取出来的一致。
在这里插入图片描述
最后点击自动,等待30秒左右就烧录成功(如果不校验FLASH,烧录会更快,不过不建议这样操作),成功烧录一次后可以保存工程,下次就不用再配置型号,熔丝位什么的了。
在这里插入图片描述
这样一次性烧录引导和应用程序,大大缩短了批量烧录的时间,希望对你们有帮助,如果有更好的方法,希望能够分享给我。

### Arduino 烧录失败常见原因及解决方案 #### USB连接问题 当遇到Arduino无法烧录的问题时,可能是由于USB连接不稳定造成的。建议尝试重新拔插USB连接线[^5]。如果仍然存在问题,则可以考虑更换另一根质量更好的USB数据线来测试。 #### 板载模块干扰 有时外部设备或传感器可能会影响程序的正常过程。应先断开所有外接电路与Arduino之间的连线,仅保留基本供电线路后再试一次上传操作;另外还需确认各接口焊接无虚焊现象以及跳帽位置设置正确与否等问题是否存在。 #### 串口冲突排查 计算机端可能存在其他应用程序占用了当前所选COM端口号资源而导致通信异常中断情况发生。此时可以通过关闭不必要的后台进程服务并调整IDE内部配置文件中的默认参数设定值来进行优化处理。 #### 软件环境重置 对于某些特定型号如UNO R4来说,在安装了Keyboard/Mouse类库之后会引发兼容性方面的问题从而阻止后续固件刷新动作继续执行下去。针对这种情况给出了一种临时性的解决办法——即卸载掉上述两个可疑组件再重复一遍完整的安装流程即可恢复正常工作状态[^2]。 #### 开发工具更新维护 确保使用的集成开发环境版本是最新的稳定版,并且已经按照官方文档说明完成了必要的驱动程序安装步骤。此外还需要注意不同平台之间存在的差异性因素影响,比如Windows系统下需要额外下载CH340/CP210X系列芯片对应的最新驱动包才能正常使用相应功能特性。 #### ESP32特有问题 如果是基于ESP32架构设计的产品遇到了类似的难题,则可以从以下几个角度出发寻找突破口: - **波特率不匹配**:检查`Tools->Upload Speed`菜单选项里指定的速度数值是否合理适当; - **引导加载程序损坏**:利用专用工具(esptool.py)恢复出厂默认bootrom镜像文件; - **电源供应不足**:增加稳压源或者减少负载功率消耗以维持稳定的电压水平范围之内运行[^4]。 ```cpp // 示例代码用于验证Arduino IDE能否成功编译上载至目标板卡 void setup() { Serial.begin(9600); } void loop() { delay(1000); } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值