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,否则会重新编译,又得等老久了。

相关推荐
许泽宇的技术分享32 分钟前
Windows桌面自动化的革命性突破:深度解析Windows-MCP.Net Desktop模块的技术奥秘
windows·自动化·.net
正在努力的小河1 小时前
Linux设备树简介
linux·运维·服务器
荣光波比1 小时前
Linux(十一)——LVM磁盘配额整理
linux·运维·云计算
LLLLYYYRRRRRTT2 小时前
WordPress (LNMP 架构) 一键部署 Playbook
linux·架构·ansible·mariadb
轻松Ai享生活2 小时前
crash 进程分析流程图
linux
大路谈数字化4 小时前
Centos中内存CPU硬盘的查询
linux·运维·centos
luoqice4 小时前
linux下查看 UDP Server 端口的启用情况
linux
倔强的石头_5 小时前
【Linux指南】动静态库与链接机制:从原理到实践
linux
赏点剩饭7786 小时前
linux中的hostpath卷、nfs卷以及静态持久卷的区别
linux·运维·服务器
神鸟云6 小时前
DELL服务器 R系列 IPMI的配置
linux·运维·服务器·网络·边缘计算·pcdn