0


ESP32的arduino IDE代码使用flash download tool进行烧录

ESP32的arduino IDE代码使用flash download tool进行烧录

前言

   最近遇到用户在使用 
arduino IDE

开发环境编写了ESP32的代码,希望提供编写好的程序给用户烧录,但是又不希望让客户看到源代码。
可以肯定的是这显然是可以实现的,这里我们拿一块最新的

ESP32-S3

的开发板作为一次操作示例。

arduino代码烧录

   首先我们在
arduino IDE

中编写一个串口输出

Hello World!

的代码并烧录(

arduino中添加ESP32-S3开发板

可以参考我们往期的文章),代码如下

voidsetup(){// put your setup code here, to run once:
  Serial.begin(115200);}voidloop(){// put your main code here, to run repeatedly:
  Serial.println("Hello World!");delay(500);}
   arduino中的代码烧录比较简单,只需要选对芯片型号和端口号就可以直接烧录。

在这里插入图片描述
烧录之后我们打开串口助手软件,配置好115200的波特率和对应的端口号,看是否定期

500ms

返回了

Hello World!

即可。

在这里插入图片描述
如果没有任何信息返回可以尝试按一下复位按键。

arduino下载了一些什么文件

   相信大家关心的并不是
arduino

怎么样烧录程序,网上教程太多而且这并不复杂。
下面我们看到

arduino

烧录的时候

编译

上传

的详细信息输出,我们可以看到以下的内容,以及红框中的内容,这是重要的
在这里插入图片描述
这里面记录着

arduino

ESP32-S3开发板

中如何进行烧录的,详细放到下面我们着重解析,如果烧录的时候没有像我下面这么详细的信息,在arduino IDE中的首选项打开详细信息输出就好

H:\arduino\hardware\espressif\esp32/tools/esptool/esptool.exe --chip esp32s3 --port COM7 --baud 921600--before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x0 
C:\Users\18748\AppData\Local\Temp\arduino_build_578225/sketch_dec13a.ino.bootloader.bin 0x8000 C:\Users\18748\AppData\Local\Temp\arduino_build_578225/sketch_dec13a.ino.partitions.bin 0xe000 H:\arduino\hardware\espressif\esp32/tools/partitions/boot_app0.bin 0x10000 C:\Users\18748\AppData\Local\Temp\arduino_build_578225/sketch_dec13a.ino.bin 
   内容非常多,我们把里面的重要信息拆分成多行方便查看
H:\arduino\hardware\espressif\esp32/tools/esptool/esptool.exe
--chip esp32s3 --port COM7 --baud 921600--before default_reset --after hard_reset write_flash -z 
--flash_mode dio --flash_freq 80m --flash_size 4MB 
0x0 
C:\Users\18748\AppData\Local\Temp\arduino_build_578225/sketch_dec13a.ino.bootloader.bin 
0x8000 
C:\Users\18748\AppData\Local\Temp\arduino_build_578225/sketch_dec13a.ino.partitions.bin 
0xe000 
H:\arduino\hardware\espressif\esp32/tools/partitions/boot_app0.bin 
0x10000 
C:\Users\18748\AppData\Local\Temp\arduino_build_578225/sketch_dec13a.ino.bin 
   下面这两行为
端口号

波特率

,我们一会在

flash download tool

配置成一样的就好,这里不是很重要

--chip esp32s3 --port COM7 --baud 921600--before default_reset --after hard_reset write_flash -z
   下面这行是
arduino

在烧录时配置的参数,一会我们使用

flash download tool

也可以配置成一样的,相当于是照抄一遍

arduino IDE

配置的参数和进行的操作

--flash_mode dio --flash_freq 80m --flash_size 4MB 
   上面两段内容相信很多人也知道如何配置,那么下面是比较重要一些的内容,包含了烧录了
哪些文件

ESP32

以及

烧录到哪里

,我们详细操作

0x0 
C:\Users\18748\AppData\Local\Temp\arduino_build_578225/sketch_dec13a.ino.bootloader.bin 
0x8000 
C:\Users\18748\AppData\Local\Temp\arduino_build_578225/sketch_dec13a.ino.partitions.bin 
0xe000 
H:\arduino\hardware\espressif\esp32/tools/partitions/boot_app0.bin 
0x10000 
C:\Users\18748\AppData\Local\Temp\arduino_build_578225/sketch_dec13a.ino.bin 
   1、arduino IDE将储存在电脑 
C:\Users\18748\AppData\Local\Temp\arduino_build_578225

下名称为

sketch_dec13a.ino.bootloader.bin

的文件烧录到了地址

0x0

   2、arduino IDE将储存在电脑 
C:\Users\18748\AppData\Local\Temp\arduino_build_578225

下名称为

sketch_dec13a.ino.partitions.bin

的文件烧录到了地址

0x8000

   3、arduino IDE将储存在电脑 
H:\arduino\hardware\espressif\esp32/tools/partitions

下名称为

boot_app0.bin

的文件烧录到了地址

0xe000

   4、arduino IDE将储存在电脑 
C:\Users\18748\AppData\Local\Temp\arduino_build_578225

下名称为

sketch_dec13a.ino.bin

的文件烧录到了地址

0x10000

   那么我们需要做的是将上面提取出来的
地址

中找到对应的四个文件复制出来给他们放一起就好

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
整理出下面四个文件

在这里插入图片描述

   值得说明的是上面这四个
文件的路径

以及文件的

名称

会随着您的

工程

arduino安装的路径

以及

windows的账户名

发生改变,因此您没有办法直接复制我上面现成的路径。

   您的
arduino工程

至少需要

编译

一遍以获得上面的信息来找到四个文件的位置以及烧录到的对应地址。

flash download tool工具烧录

   乐鑫官网下载 flash download tool工具,切记选择对应型号的芯片,避免出现选择默认的
ESP8266

去烧录

ESP32

的代码的情况

在这里插入图片描述
选择对应的文件,后面的框中填入对应的地址,其他的选项照抄即可,影响不是很大,参照下图

在这里插入图片描述

   烧录成功后打开串口助手软件,同样的打开对应的
端口

选择正确的

波特率

,按一下开发板上的复位按键即可看到返回的信息

在这里插入图片描述
或许您会觉得四个文件四个地址过于麻烦不是很方便,那么我们可以勾选

DoNotChgBin

(烧录的时候勾选也可以),并点击下方的

CombineBin

按钮,此时会打开一个文件夹,并在文件夹中生成一个

target.bin

的文件。
这个文件我们只需要直接烧录到

0x0

的地址中即可,如下方所示
在这里插入图片描述

   烧录之后的代码效果并没有什么区别,方便了我们用户烧录出错的情况。

总结

   如果您也是使用
arduino IDE

开发

ESP32

的产品,希望我们的文章能对您有所帮助,理论上来讲,虽然我们此次使用的

ESP32-S3

做的示例,但这个流程应当是适用于目前所有的

ESP

的包括

8266

在内的

SOC

的,有疑问可以留言互相沟通学习,欢迎大佬们一键三连!


本文转载自: https://blog.csdn.net/qq_42250136/article/details/128301192
版权归原作者 优信电子 所有, 如有侵权,请联系我们删除。

“ESP32的arduino IDE代码使用flash download tool进行烧录”的评论:

还没有评论