加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 1 Arduino生成bin文件
    • 2 bin文件烧录
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

ESP32烧录Arduino生成的bin文件

10/07 08:55
1万
阅读需 7 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

Arduino有着丰富的第三方库,因此开发起来非常的方便快捷,但是在实际的生产中,我们不可能使用Arduino IDE来进行固件的烧录,因为使用Arduino IDE烧录效率很低,而且要先帮工厂把环境搭建好,更重要的是烧录时必须要打开源代码,这可能会导致工厂泄露机密。因此,最好的方案还是将代码转成通用的bin文件烧录。

废话不多说,马上开始讲解。

1 Arduino生成bin文件

关于Arduino的环境搭建,库安装这些我就不介绍了,都走到量产这一步了不会有人还不知道吧。

打开Arduino IDE,打开 项目 -> 导出已编译的二进制文件,等待编译完成即可在工程目录下生成相应的bin文件。

在这里插入图片描述

编译成功后生成的bin文件:

在这里插入图片描述

2 bin文件烧录

2.1 下载烧录工具

烧录bin文件的时候我们需要用到乐鑫的flash烧录工具。

工具可以在乐鑫官网下载:https://www.espressif.com/zh-hans/support/download/other-tools

在这里插入图片描述

2.2 集齐MCU需要烧录的固件

用Arduino IDE烧录ESP8266、ESP32、ESP32-S2或者其他ESP系列的MCU时给我们的感觉是它仅仅烧录了自己编写的代码以及底层支持库。但实际上除了这些,还包含了启动文件,bootloader,sdk等。

因此,如果我们只烧录Arduino生成的bin文件是无法正常运行的。我们还需要找到另外几个文件。

这几个文件都在你安装的开发板库里面。比如你用的ESP32,那就是在esp32库。

我这里以ESP32-S2为例讲解,其他ESP系列的MCU也是一样的。

首先我们要打开库文件对应的文件夹。

这个路径可以在Arduino IDE的首选项里面看到。点击一下这个路径就可以弹出文件窗口。

在这里插入图片描述
在这里插入图片描述

在packages文件夹可以看到所有已安装的开发板库。比如我这里安装了esp32和esp8266的库。

在这里插入图片描述

进入相应的库,找到partitions和sdk这两个文件夹。

在这里插入图片描述
提示:我这个是esp32 v2.0.1版本的库,其他MCU或者其他版本的库文件框架可能会有区别,但是大体上应该都是类似的。

1)第1个文件:boot_app0

在partitions文件夹里面。

在这里插入图片描述

2)第2个文件:bootloader

在sdk文件夹里面。

特别说明一下:目前esp32是有3个MCU的sdk的,选择自己要用的即可。我这里用的是esp32-s2。

在这里插入图片描述

提示:dio、dout、qio和qout是spi的模式,40m和80m是flash的频率,比较常用的是dio和40m。当然,如果对性能有更高的要求可以选80m,在SPI作为主机时可以达到80MHz,但相应的对硬件抗干扰能力也有更高的要求。

3)第3个文件:app
这个是你实际的应用代码,也就是用Arduino IDE生成的bin文件。

4)第4个文件:default
和第1个文件一样,也是在partitions文件夹里面。

在这里插入图片描述

2.3 烧录固件

打开乐鑫的烧录工具,选择对应的芯片和烧录方式。
提示:ESP32-S2除了串口以外,还可以通过USB下载。

在这里插入图片描述

依次添加烧录文件,并填写相应的烧录地址,配置好相应的模式。

我这里还是以ESP32-S2为例。

在这里插入图片描述

获取烧录文件地址的方法:这几个地址可以在Arduino IDE烧录时输出的日志中找到。

在这里插入图片描述

连接好硬件设备,并且进入下载模式。

进入下载模块的方法:按住boot键,然后再按reset键,最后松开boot键。或者按住boot键之后再上电。只要保证MCU启动时,boot脚是低电平即可。

在这里插入图片描述

通过串口打印的信息可以确定是否已进入下载模式。

进入下载模式时可以看到以下信息:

在这里插入图片描述

在烧录工具上选择好对应的com口,配置好波特率(波特率越大,下载速度越快)。

提示:ESP32-S2除了串口以外,还可以通过USB下载,要先进入下载模式才能检测到USB对应的com口,或者之前运行的代码有把USB配置成虚拟串口也可以看到对应的com口。

点击START开始烧录。

提示:烧录固件之前可以先全部擦除一遍。如果点击开始烧录之后才发觉MCU没有进入烧录模式,也可以在这里进入,进入之后马上就会开始烧录了。

在这里插入图片描述

等待下载完成后重启一下即可。

结束语

好了,关于Arduino生成bin文件及烧录方法的介绍就到这里。本文只列举了ESP32-S2的情况,ESP8266和ESP32我也试过,也是一样的,大家举一反三即可。如果这篇文章对你有帮助,可以点赞收藏,如果还有什么问题,欢迎在评论区留言或者私信给我。

相关推荐

电子产业图谱