Ubuntu系统跟常用工具安装

因为之前安装过esp8266 SDK-3.0版本,所以本次就在这个系统内安装传送门

  1. 在安装中发现新版本的编译形式有变化,不能使用虚拟机自带的共享进行编译,需要使用Samba网络共享!因编译过程需要建立软链接。

  2. 记得将Python版本调整为Python 3

下载 SDK-IDF

开始使用的是 guthub 上的库,那速度要多慢有多慢,毕竟没有搭上梯子,后来就参考使用了 gittee 码云上的库,直接换飞机的速度了啊

一、下载重定向脚本 esp-gitee-tools

1
2
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git

二、下载SDK

1
2
git clone https://gitee.com/EspressifSystems/esp-idf.git -b release/v5.0

三、使用 esp-gitee-tools 拉取子模块

1
2
3
4
5
6
cd esp-gitee-tools 
export EGT_PATH=$(pwd)
cd ..
cd esp-idf
$EGT_PATH/submodule-update.sh

四、安装编译工具链

1
2
. install.sh

这个步骤是自动安装编译所需要的各类软件,比如编译器、调试器等

由于是从 github 上下载下来,所以速度奇慢无比,总共花了两天才下载完成!

再执行:

1
2
. ./export.sh

补充:下载主要文件

install.sh 下载工具文件路径为 $HOME/.espressif/dist

1
2
3
4
5
6
7
8
9
10
11
12
13
总用量 332M
drwxrwxr-x 2 yichen yichen 4.0K 1月 2 11:38 ./
drwxrwxr-x 5 yichen yichen 4.0K 1月 2 11:38 ../
-rwxrwxrwx 1 yichen yichen 11M 1月 2 11:32 esp32ulp-elf-2.35_20220830-linux-amd64.tar.gz*
-rwxrwxrwx 1 yichen yichen 2.4M 1月 2 11:37 esp-rom-elfs-20220823.tar.gz*
-rwxrwxrwx 1 yichen yichen 2.0M 1月 2 11:34 openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz*
-rwxrwxrwx 1 yichen yichen 106M 1月 2 11:31 riscv32-esp-elf-gcc11_2_0-esp-2022r1-linux-amd64.tar.xz*
-rwxrwxrwx 1 yichen yichen 26M 1月 2 11:25 riscv32-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz*
-rwxrwxrwx 1 yichen yichen 62M 1月 2 11:26 xtensa-esp32-elf-gcc11_2_0-esp-2022r1-linux-amd64.tar.xz*
-rwxrwxrwx 1 yichen yichen 50M 1月 2 11:28 xtensa-esp32s2-elf-gcc11_2_0-esp-2022r1-linux-amd64.tar.xz*
-rwxrwxrwx 1 yichen yichen 50M 1月 2 11:29 xtensa-esp32s3-elf-gcc11_2_0-esp-2022r1-linux-amd64.tar.xz*
-rwxrwxrwx 1 yichen yichen 26M 1月 2 11:19 xtensa-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz*

使用的是 5.0版本 SDK 下载,放到共享里,给有需要的人下载后解压到该目录下应该就可以通过!(未测试过)
传送门

设置环境变量

因为需要多环境共存,毕竟还要玩esp8266嘛,所以就使用 aliases 方式进行别名命令设置,每次仅对跟窗体有效

这是我的ubuntu下编译esp32所需要的两个环境变量,将其添加到 ~/.bash_aliases 文件中,然后重启即可
之后打开命令窗口时执行 get_esp32 和 get_e32 后就可以快速设置 ESP32环境了!

1
2
alias get_esp32='export PATH=$PATH:/home/yichen/.espressif/tools/xtensa-esp32-elf/esp-2022r1-11.2.0/xtensa-esp32-elf/bin'
alias get_e32='. $HOME/esp/esp-idf/export.sh'

复制例程工程

可以选择 idf 目录下的 example 文件中的例程,将它复制到 共享 share 文件中,这样也方便 Windows下查看编辑代码!(注意:不是虚拟机共享的文件夹,而是Samba共享的文件夹)

例如可以使用 $HOME/esp/esp-idf/examples/get-started/hello_world 文件来测试

配置编译工程

  1. 设置esp32系列模组
1
2
idf.py set-target esp32

  1. 通过 menuconfig 菜单配置参数
1
2
idf.py menuconfig

可以设置Wi-Fi 网络名称、密码以及各种组件配置等,不过每次配置完之后都得全部编译一遍!

  1. 编译所选工程
1
2
idf.py build

第一次编译得构建 build 文件,所以慢很多!如果环境正常基本上能出结果,否则就根据错误提示一个个排查处理。
最后会得到 二进制文件 bootloader.bin、partition-table.bin 和 hello_world.bin(你构建的工程文件名)

  1. 烧录到设备
1
2
idf.py flash monitor

这是两个命令组合起来,意思是烧录程序到 ESP32 并打开 监视窗口。
其中烧录波特率默认为 460800

如果想要自定义波特率则可以自己设置

1
2
idf.py -p PORT [-b BAUD] flash

由于我的开发板BOOT按键独立,没有自动下载功能,需要在下载前按住 BOOT 按键至识别到 ESP32 ,连接监视窗口也是如此!开始还一直以为没有连接好USB,或者需另外设置


相关链接(侵删)

  1. 【ESP32】虚拟机ubuntu下搭建 ESP-IDF 开发环境(详细)
  2. ESP32-ESP-IDF-CMD编译烧写(自用)
  3. 乐鑫gitee库

=================我是分割线=================

欢迎到公众号来唠嗑: