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源为阿里云源

    • 在根目录创建mkdir .pip文件夹
    • 创建vim pip.conf文件
    • 新增如下内容
    [global]
    index-url=http://mirrors.aliyun.com/pypi/simple/
    [install]
    [trusted-host=mirrors.aliyun.com](<http://trusted-host=mirrors.aliyun.com/>)
    
  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,否则会重新编译,又得等老久了。

### 设置和导入环境变量 为了在 ESP-IDF 中设置和导入环境变量,在 LinuxWindows 下的操作有所不同。对于 Linux 和其他 Unix 类似系统,通常通过命令行工具来完成此操作。 #### 使用 Shell 脚本设置环境变量 创建一个 shell 脚本来配置所需的环境变量是一个常见做法。该脚本可以放置于用户的 home 目录下或是项目文件夹内以便随时调用。下面是一段用于设置 `IDF_PATH` 变量并将其余必要路径加入到当前会话中的 Bash 代码片段: ```bash export IDF_PATH=/path/to/esp-idf export PATH=$PATH:$IDF_PATH/tools ``` 这段脚本定义了两个重要的环境变量:一个是指向 ESP-IDF 安装位置的 `IDF_PATH`;另一个则是更新系统的 `$PATH` 来包含 ESP-IDF 工具链的位置[^1]。 #### 自动加载环境变量 为了让上述更改永久生效而不必每次打开终端都手动执行一次脚本,可以把上面提到的内容追加到 `.bashrc`, `.zshrc` 文件里(取决于所使用的shell),这样每当启动新的shell实例时都会自动应用这些设定。 另外一种方法是在 VSCode 配置中指定工作区级别的环境变量。这可以通过修改项目的 launch.json 文件实现,从而确保当调试器运行时能够正确识别所需的所有环境参数。 #### 利用 Python Script 导入环境变量 ESP-IDF 提供了一个名为 export.py 的Python脚本用来简化这一过程。只需在一个支持 Python 解释器的环境中运行这个脚本即可轻松地将所有必需项添加至当前 session 的环境变量列表之中: ```bash source $IDF_PATH/export.sh ``` 这条指令将会读取位于 ESP-IDF 根目录下的 export.sh 文件,并按照其中指示调整本地环境设置以适应开发需求[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L_Z_J_I

让孩子吃一顿免费的午餐吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值