目录
这里只列出了WIndows和Ubuntu下的环境配置教程。
一、配置ESP32开发环境
配置开发环境挺麻烦的,其实可以直接使用ESP-IDF 5.3 PowerShell
\ESP-IDF 5.3 CMD
这些终端进行编译、烧录和调试等等
Ubuntu开发环境(因为个人原因无法调试,其他正常)
配置开发环境
-
虚拟机创建Ubuntu20.04.6 server
- 注意在安装的时候勾选SSH server
-
安装网络工具 :
- sudo apt-get install net-tools
- 输入ifconfig查看ip
- 使用MobaXterm登录
-
修改pip源为阿里云源
-
在根目录创建mkdir .pip文件夹
-
创建vim pip.conf文件
-
新增如下内容
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
-
-
修改清华源
使用国内源更稳定,还能加速下载。 官网如下: ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror (如果你是别的系统,可以输入
lsb_release -a
来查看当前的系统,然后根据清华源的官网的提示来更换相应地文本) 我这里是Ubuntu 20.04 LTS (focal)
-
首先备份系统原有的更新源配置文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
-
然后使用文本编辑器(如
sudo vim /etc/apt/sources.list
)打开sources.list
文件, 将其内容替换为清华的源。以下是 **Ubuntu 20.04(flcal)**的清华源示例:# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> focal main restricted universe multiverse # deb-src <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> focal main restricted universe multiverse deb <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> focal-updates main restricted universe multiverse # deb-src <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> focal-updates main restricted universe multiverse deb <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> focal-backports main restricted universe multiverse # deb-src <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> focal-backports main restricted universe multiverse # 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换 deb <http://security.ubuntu.com/ubuntu/> focal-security main restricted universe multiverse # deb-src <http://security.ubuntu.com/ubuntu/> focal-security main restricted universe multiverse # 预发布软件源,不建议启用 # deb <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> focal-proposed main restricted universe multiverse # # deb-src <https://mirrors.tuna.tsinghua.edu.cn/ubuntu/> focal-proposed main restricted universe multiverse
在vim文本编辑器下,清除所有文本需要进入命令模式(按
Esc
键)。 按shift + :
键开始输入命令。 输入%d
然后按回车键。表示全部删除。 输入然后输入i
进入编辑模式,开始输入(Ctrl+Shift+V可以粘贴)。 输入完毕后按ESC键,再按shift + :
输入set noreadonly
取消文件只读设置 然后shift + :
输入wq
然后回车(w为保存,q为退出)- 直接使用 su 登录root 也很方便。
恭喜啊!!到这一步,你就成功的将软件源配置为清华源了。 可以验证一下,输入
sudo apt update
系统将从清华源获取软件包信息并进行更新 并且不会出现错误提示。
-
-
安装各种必要的工具
- sudo apt-get install git wget flex bison gperf python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 net-tools
-
新建esp32目录
- mkdir esp32
- cd esp32
-
拉取gitee工具
-
git clone esp-gitee-tools: **重要**。此仓库包含给 gitee 其他仓库提供的扩展工具,包括 submodule 更新、开发工具安装等。
-
执行gitee工具切换镜像脚本
- cd esp-gitee-tools
- ./jihu-mirror.sh set
- 上面这句命令,会将github的地址自动替换成jihulab上的镜像地址,这样就不用担心github的访问问题了
然后我们可以理直气壮的拉取github 源码了,先回到esp32目录,
-
-
拉取esp-idf源码
- 回到ESP32目录 cd ..
- 克隆github仓库 git clone --recursive https://github.com/espressif/esp-idf.git
--recursive
:这个选项告诉 Git 在克隆仓库的同时,递归地克隆该仓库所包含的所有子模块。
-
切换esp-idf版本分支到v5.2(大版本不兼容,小版本一般兼容)
- cd esp-idf
- 切换分支到5.2版本 git checkout v5.2
- git branch 可以看一下到底切换成功了没
- 把相应的子模块切换到对应的版本 git submodule update --init --recursive
-
安装编译工具
- ../esp-gitee-tools/install.sh
-
设置临时环境变量
- source export.sh
-
添加全局环境变量
- vim ~/.profile
- 添加一行:source esp32/esp-idf/export.sh
- 也就是登录这个用户自动运行 这样就能不会退出而不能编译了
-
下载课程配套源码
- cd ~/esp32
- git clone --recursive esp32-board: esp32开发板配套的经典例程
-
编译
- cd esp32-board/helloworld
- idf.py build
- 如果没红色或黄色报错就成功了。
-
vscode连接
-
下载ssh插件
-
配置ssh插件登录格式
Host ESP32_Ubuntu HostName 192.168.128.134 User liu Port 22
-
右键在当前界面登录就OK 了。
-
-
通过本地vscode在Ubuntu vscode-server下载 C/C++ 、乐鑫ESP-IDF插件
-
装好后,最好重启一下VSCode,重复上述步骤登录ubuntu和打开helloworld文件夹,然后我们回到我们的helloworld工程
-
按下ctrl+shift+p,弹出搜索框,搜索ESP-IDF:Add vscode Configuration Folder,在下拉列表出现后,点击一下就可以了,这步的目的是为了把esp-idf里面的源码路径也加到我们的工程中,现在我们可以通过按着ctrl键点击函数或变量进行跳转看代码了
-
设置远程插件的C/C++扩展设置。搜索workspace ,把CPU占用调整为medium 中等。否则会占用100% CPU。
-
设置USB串口权限
- sudo usermod -aG dialout xxx xxx为用户名
- exit 退出,然后r重启一下
-
设置虚拟机USB为 USB3.1,防止烧录时提示一直正在使用
-
插入USB,在虚拟机设置连接USB到虚拟机。
-
烧录 idf.py flash
-
sudo chmod 777 /dev/ttyUSB0 提升权限
-
idf.py monitor 调试
- Ctrl+]退出调试
注意,esp-idf的版本记得选择v5.2 要一样的~,这个如果是Ubuntu server版本,可以用vscode连接之后 设置, 如果是Ubuntu desktop版本,可以直接在桌面 插件设置~
WIndows开发环境
vscode+ESP-IDF
(其实vscode配置很简单,但是我貌似因为python环境或者别的原因一直出问题,所以转战CLion了)
CLion+ESP-IDF
-
下载安装离线安装包
-
基础指令
idf.py create-project 路径
指令可以创建一个基础的ESP模板idf.py build dome1
可以编译这个domeidf.py monitor
是调试 监视
-
使用
idf.py create-project 路径
创建一个demo -
在CLion 软件添加一个新的环境,编辑环境变量(ESP32-S2)
-
IDF_PATH=D:\Espressif\frameworks\esp-idf-v5.3.1;ESPPORT=COM15;IDF_TARGET=esp32
-
在PATH添加下面这段环境目录(选中部分)
-
-
编辑工具链为 D:\Espressif\espidf_source.bat
@call D:\\Espressif\\python_env\\idf5.3_py3.11_env\\Scripts\\activate.bat @call D:\\Espressif\\frameworks\\esp-idf-v5.3.1\\export.bat @call D:\\Espressif\\idf_cmd_init.bat
-
重新加载CMake项目
-
构建app
-
切换flash烧录
-
针对部分monitor不能用(提示 Monitor requires standard input to be attached to TTY. Try using a different terminal.错误),经查:可以使用外部模拟~
参考:ESP-IDF Monitor error: Monitor requires standard input to be attached to TTY : CPP-34647
-
使用CLion 打开我们创建的demo,然后进行编译、烧录、调试。测试一下。
后续我是根据CLion 2024.进行的ESP32开发。 小技巧:第一次编译(app)之后,后续可以直接选择flash,否则会重新编译,又得等老久了。