"Windows10" 安装 "ESP" 开发环境

一、使用方法

  1. "VSCode" 打开 "ESP" 工程
  2. 唤出内置 "PowerShell" 终端(每次打开新的终端都需要部署运行环境)
    • 初始化: esp_env_init <idf 版本>
      • eg: esp_env_init v4.4
      • <idf 版本> 分为 "分支版本, 如: release/v4.4"、"标签版本, 如: v4.4"
      • "分支版本: release/v4.4" 的初始化为 esp_env_init rv4.4
      • "标签版本: v4.4" 的初始化为 esp_env_init v4.4
    • 编译:idf all
    • 下载:idf -p {端口号} flash
    • 调试:idf -p {端口号} monitor
    • 配置:menuconfig

二、脚本安装 (脚本下载)

  • 请关闭代理!!!
  • 下载进度停止不动时,大概率是网络问题。
    1. 关闭脚本
    2. 手动删除下载版本,eg: 删除文件夹 D:___Software\esp\esp-idf-v4.4
    3. 重新执行脚本

三、手动安装 (注意替换)

  • {安装路径}: 要安装的 "esp-idf" 路径
  • {版本}: 要安装的 "esp-idf" 版本
  • {python版本}: 已安装的 "python" 版本

1、安装异常大概率是网络问题,多执行几次出错步骤试试

2、预安装软件

  • "Git for Windows"
  • "python" (3.9.10版本测试OK)

3、第一次需要设置Microsoft.PowerShell_profile.ps1脚本,否则跳过

  • 管理员身份运行 PowerShell
    • 输入下述命令: 允许PowerShell终端执行脚本
      Set-ExecutionPolicy RemoteSigned -> 允许
    • 输入下述命令: 便于在PowerShell终端中执行esp_env_init函数初始化idf环境(PowerShell终端自动加载Microsoft.PowerShell_profile.ps1脚本
      If(!(Test-Path $PROFILE))
      {
            New-Item -ItemType File -Force -Path $PROFILE
      }
      '
      function esp_env_init{
          switch($args.Count) {
              1 {
                  $path = "{安装路径}\esp\esp-idf-" + $args
                  $env:IDF_TOOLS_PATH=$path + "\.espressif"
                  . $path\esp-idf\export.ps1
                  return
              }
              Default {
                  Write-Error "args error"
                  return
              }
          }
      }
      
      function espefuse{
          python $env:IDF_PATH"\components\esptool_py\esptool\espefuse.py" $args
      }
      function espsecure{
          python $env:IDF_PATH"\components\esptool_py\esptool\espsecure.py" $args
      }
      function esptool{
          python $env:IDF_PATH"\components\esptool_py\esptool\esptool.py" $args
      }
      
      function menuconfig{
          Start-Process powershell -ArgumentList "-command &{idf.py menuconfig}"
      }
      
      Set-Alias idf idf.py
      ' | Out-File $PROFILE
      

4、步骤:

  • 首次安装执行顺序1、2、3、4、5、6、7……
  • 执行顺序2、4、5、6、7……
  1. 创建文件夹"esp": {安装路径}/esp

  2. 右键文件夹"esp": 选择"Git Bash Here"

  3. 下载安装工具: 用于下载idf工具链及更新组件

    • 在"git bash"输入命令:git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
  4. 创建文件夹"esp-idf-{版本}"

    • 在"git bash"输入命令:mkdir esp-idf-{版本}
    • eg: mkdir esp-idf-v4.4
  5. 进入文件夹"esp-idf-{版本}"

    • 在"git bash"输入命令:cd esp-idf-{版本}
    • eg: cd esp-idf-v4.4
  6. 下载"idf", 选择要下载的版本

    • 在"git bash"输入命令:git clone -b {版本} https://gitee.com/EspressifSystems/esp-idf.git
    • eg:git clone -b v4.4 https://gitee.com/EspressifSystems/esp-idf.git
  7. 进入文件夹"esp-idf"

    • 在"git bash"输入命令:cd esp-idf
  8. 设置工具链安装路径

    • 在"git bash"输入命令:export IDF_TOOLS_PATH='{安装路径}\esp\esp-idf-{版本}\.espressif'
    • eg:export IDF_TOOLS_PATH='{安装路径}\esp\esp-idf-v4.4\.espressif'
  9. 安装工具链

    • 在"git bash"输入命令:../../esp-gitee-tools/install.sh
  10. 更新组件

    • 在"git bash"输入命令:../../esp-gitee-tools/submodule-update.sh
  11. 安装"python"的"windows-curses"库:必须指定完整路径,安装在idf的python环境中

    • 在"git bash"输入命令:{安装路径}/esp/esp-idf-{版本}/.espressif/python_env/idf{版本}_py{python版本}_env/Scripts/python.exe -m pip install windows-curses
    • eg:{安装路径}/esp/esp-idf-v4.4/.espressif/python_env/idf4.4_py3.9_env/Scripts/python.exe -m pip install windows-curses
  12. 安装完成

四、问题

Q1、"VSCode" 提示无法打开头文件

  • 现象
    • 编译正常
    • 无法打开 源 文件 "xxx.h"C/C++(1696)
  • 解决方法
    1. "VSCode" 点击右下角 "Win32"
    2. 选择 "xxxxxx(JSON)"
    3. 覆盖 "c_cpp_properties.json" 文件内容
      {
          "configurations": [
              {
                  "name": "ESP",
                  "cStandard": "c11",
                  "cppStandard": "c++17",
                  "defines": [
                      "_DEBUG",
                      "UNICODE",
                      "_UNICODE"
                  ],
                  "includePath": [
                      "${workspaceFolder}/**"
                  ],
                  "browse": {
                      "path": [
                          "${workspaceFolder}"
                      ]
                  },
                  "compileCommands": "${workspaceFolder}/build/compile_commands.json"
              }
          ],
          "version": 4
      }
      
posted @ 2021-07-02 18:27  Bryce-Hu  阅读(1028)  评论(0)    收藏  举报