ESP32 ESP-IDF开发环境配置

目录

这里只列出了WIndows和Ubuntu下的环境配置教程。

一、配置ESP32开发环境

Ubuntu开发环境(个人原因无法调试,其他正常)

配置开发环境

WIndows开发环境

vscode+ESP-IDF

CLion+ESP-IDF


一、配置ESP32开发环境

配置开发环境挺麻烦的,其实可以直接使用ESP-IDF 5.3 PowerShell\ESP-IDF 5.3 CMD 这些终端进行编译、烧录和调试等等

Ubuntu开发环境(因为个人原因无法调试,其他正常)

配置开发环境

  1. 虚拟机创建Ubuntu20.04.6 server

    • 注意在安装的时候勾选SSH server
  2. 安装网络工具 :

    • sudo apt-get install net-tools
    • 输入ifconfig查看ip
    • 使用MobaXterm登录
  3. 修改pip源为阿里云源

  4. 修改清华源

    使用国内源更稳定,还能加速下载。 官网如下: ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror (如果你是别的系统,可以输入lsb_release -a来查看当前的系统,然后根据清华源的官网的提示来更换相应地文本) 我这里是Ubuntu 20.04 LTS (focal)

    1. 首先备份系统原有的更新源配置文件: sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup

    2. 然后使用文本编辑器(如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 系统将从清华源获取软件包信息并进行更新 并且不会出现错误提示。

  5. 安装各种必要的工具

    • 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
  6. 新建esp32目录

    • mkdir esp32
    • cd esp32
  7. 拉取gitee工具

  8. 拉取esp-idf源码

    • 回到ESP32目录 cd ..
    • 克隆github仓库 git clone --recursive https://github.com/espressif/esp-idf.git
    • --recursive:这个选项告诉 Git 在克隆仓库的同时,递归地克隆该仓库所包含的所有子模块。
  9. 切换esp-idf版本分支到v5.2(大版本不兼容,小版本一般兼容)

    • cd esp-idf
    • 切换分支到5.2版本 git checkout v5.2
    • git branch 可以看一下到底切换成功了没
    • 把相应的子模块切换到对应的版本 git submodule update --init --recursive
  10. 安装编译工具

    • ../esp-gitee-tools/install.sh
  11. 设置临时环境变量

  12. 添加全局环境变量

    • vim ~/.profile
    • 添加一行:source esp32/esp-idf/export.sh
    • 也就是登录这个用户自动运行 这样就能不会退出而不能编译了
  13. 下载课程配套源码

  14. 编译

    • cd esp32-board/helloworld
    • idf.py build
    • 如果没红色或黄色报错就成功了。
  15. vscode连接

    • 下载ssh插件

    • 配置ssh插件登录格式

      Host ESP32_Ubuntu
          HostName 192.168.128.134
          User liu
          Port 22
      
    • 右键在当前界面登录就OK 了。

  16. 通过本地vscode在Ubuntu vscode-server下载 C/C++ 、乐鑫ESP-IDF插件

  17. 装好后,最好重启一下VSCode,重复上述步骤登录ubuntu和打开helloworld文件夹,然后我们回到我们的helloworld工程

  18. 按下ctrl+shift+p,弹出搜索框,搜索ESP-IDF:Add vscode Configuration Folder,在下拉列表出现后,点击一下就可以了,这步的目的是为了把esp-idf里面的源码路径也加到我们的工程中,现在我们可以通过按着ctrl键点击函数或变量进行跳转看代码了

  19. 设置远程插件的C/C++扩展设置。搜索workspace ,把CPU占用调整为medium 中等。否则会占用100% CPU。

  20. 设置USB串口权限

    • sudo usermod -aG dialout xxx xxx为用户名
    • exit 退出,然后r重启一下
  21. 设置虚拟机USB为 USB3.1,防止烧录时提示一直正在使用

  22. 插入USB,在虚拟机设置连接USB到虚拟机。

  23. 烧录 idf.py flash

  24. sudo chmod 777 /dev/ttyUSB0 提升权限

  25. idf.py monitor 调试

  • Ctrl+]退出调试

注意,esp-idf的版本记得选择v5.2 要一样的~,这个如果是Ubuntu server版本,可以用vscode连接之后 设置, 如果是Ubuntu desktop版本,可以直接在桌面 插件设置~

WIndows开发环境

vscode+ESP-IDF

(其实vscode配置很简单,但是我貌似因为python环境或者别的原因一直出问题,所以转战CLion了)

CLion+ESP-IDF

  1. 下载安装离线安装包

  2. 基础指令

    • idf.py create-project 路径指令可以创建一个基础的ESP模板
    • idf.py build dome1 可以编译这个dome
    • idf.py monitor 是调试 监视
  3. 使用idf.py create-project 路径创建一个demo

  4. 在CLion 软件添加一个新的环境,编辑环境变量(ESP32-S2)

    • IDF_PATH=D:\Espressif\frameworks\esp-idf-v5.3.1;ESPPORT=COM15;IDF_TARGET=esp32

    • 在PATH添加下面这段环境目录(选中部分)

  5. 编辑工具链为 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
    
  6. 重新加载CMake项目

  7. 构建app

  8. 切换flash烧录

  9. 针对部分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

  10. 使用CLion 打开我们创建的demo,然后进行编译、烧录、调试。测试一下。

后续我是根据CLion 2024.进行的ESP32开发。 小技巧:第一次编译(app)之后,后续可以直接选择flash,否则会重新编译,又得等老久了。

相关推荐
well_fly35 分钟前
Ubuntu特殊目录
linux·ubuntu
大熊程序猿1 小时前
ubuntu 安装k3s
linux·运维·ubuntu
luoqice1 小时前
CentOS 自启动某个应用
linux·运维·服务器
泠山1 小时前
ubuntu增加swap交换空间
linux·运维·ubuntu
hero_th2 小时前
[Ubuntu] 文件/目录权限更改
linux·ubuntu
花花少年2 小时前
pip在ubuntu下换源
linux·ubuntu·pip
想做白天梦2 小时前
多级反馈队列
java·windows·算法
y0ungsheep3 小时前
[GXYCTF 2019]Ping Ping Ping 题解(多种解题方式)
linux·web安全·网络安全·php
海绵波波1073 小时前
Webserver(1.6)Linux系统IO函数
linux·运维·服务器