linux下ESP32烧录步骤(纯命令行)

1.创建工程

开始准备开发 ESP32 应用程序。可以从 ESP-IDF中 examples目录下的 get-started/hello_world 工程开始。
将 get-started/hello_world 复制至您本地的 ~/esp 目录下:
cp -r $IDF_PATH/examples/get-started/hello_world .

注意:ESP-IDF 编译系统不支持带有空格的路径。

2.连接设备

通常,串口在不同操作系统下显示的名称有所不同:
Windows 操作系统: COM1 等
Linux 操作系统: 以 /dev/tty 开始
MacOS 操作系统: 以 /dev/cu. 开始

先使用ls /dev/tty* 命令查看linux下的所有端口号
linux下ESP32烧录步骤(纯命令行)
然后将设备连接到虚拟机。
linux下ESP32烧录步骤(纯命令行)
使用ls /dev/tty* 命令查看linux下的所有端口号
linux下ESP32烧录步骤(纯命令行)
多出来的那个就是新连接的板子端口号。

3.在 Linux 中添加用户到 dialout

当前登录用户应当可以通过 USB 对串口进行读写操作。在多数 Linux 版本中,你都可以通过以下命令,将用户添加到 dialout 组,来获许读写权限:
sudo usermod -a -G dialout $USER

4.确认串口连接

使用串口终端程序,验证串口连接是否可用。我用的是 PuTTY SSH Client, PuTTY SSH Client 既可用于 Windows 也可用于 Linux。你也可以使用其他串口程序并设置如下的通信参数。

安装puttyt:apt-get install putty
直接运行指令putty
linux下ESP32烧录步骤(纯命令行)
运行终端,配置串口:波特率 = 115200,数据位 = 8,停止位 = 1,奇偶校验 = N。Linux 中配置串口和上述通信参数(如 115200-8-1-N)。注意,这里一定要选择在上述步骤中确认的串口进行配置。
linux下ESP32烧录步骤(纯命令行)
linux下ESP32烧录步骤(纯命令行)
点击 “Open” 打开后弹出新的界面,如下所示:
linux下ESP32烧录步骤(纯命令行)

5.配置

请进入 第1步:开始创建工程中提到的hello_world目录,并运行工程配置工具 menuconfig。
make menuconfig
如果之前的步骤都正确,则会显示下面的菜单:
linux下ESP32烧录步骤(纯命令行)
menuconfig 工具的常见操作见下。
上下箭头:移动
回车:进入子菜单
ESC 键:返回上级菜单或退出
英文问号:调出帮助菜单(退出帮助菜单,请按回车键)。
空格或 Y 键:选择 [] 配置选项;N 键:禁用 [] 配置选项
英文问号 (查询配置选项):调出有关该选项的帮助菜单
/ 键:寻找配置工程

6.编译工程

使用以下命令,编译烧录工程::
make
运行以上命令可以编译应用程序和所有 ESP-IDF 组件,接着生成 bootloader、分区表和应用程序二进制文件。
linux下ESP32烧录步骤(纯命令行)
如果一切正常,编译完成后将生成 .bin 文件。

7.烧录到设备

使用以下命令,将刚刚生成的二进制文件烧录至您的 ESP32 开发板:
make flash
linux下ESP32烧录步骤(纯命令行)

8.监视器

您可以使用 make monitor 命令,监视 “hello_world” 的运行情况。

运行该命令后,IDF 监视器 应用程序将启动
使用快捷键 Ctrl+],退出 IDF 监视器。
linux下ESP32烧录步骤(纯命令行)
如果 IDF 监视器在烧录后很快发生错误,或打印信息全是乱码(见下),很有可能是因为您的开发板采用了 26 MHz 晶振,而 ESP-IDF 默认支持大多数开发板使用的 40 MHz 晶振。
解决方法:
(1)退出监视器。
(2)打开 menuconfig。
(3)进入 Component config –> ESP32-specific –> Main XTAL frequency 进行配置,将 CONFIG_ESP32_XTAL_FREQ_SEL 设置为 26 MHz。
(4)然后,请重新 编译和烧录 应用程序。