windows开发ESP32的福音,编译速度堪比Linux

前言

在阅读本篇文章之前,为了更好地理解即将展开的内容,读者们还是需要提前阅读如何搭建ESP32开发环境以及使用vscode开发ESP32之修订篇这两篇文章.如果是我们的老朋友,那接下来的内容也自然可以看得明白.接下来,小编将给大家讲解使用全新的方式,更快更适合Windows环境下使用vscode来开发ESP32开发.

系统环境

小编要讲的内容均在以下环境进行测试通过,其他的系统环境理应也是大同小异.

准备工作

在开始进入主题之后,我们还要下载以下几个工具.

上面两个工具下载完成之后,均无脑地安装至自己指定的盘符下即可.

下载Cmake特性的ESP-IDF

这个SDK是必须要下载的.这个SDK跟前两篇如何搭建ESP32开发环境以及使用vscode开发ESP32之修订篇中的SDK不一样.

  • 步骤1

    打开任意你想要存放ESP-IDF文件的绝对路径,单击鼠标右键->Git Bash Here

  • 步骤2

    git clone --branch feature/cmake --recursive https://github.com/espressif/esp-idf.git
    

设置环境变量

这个操作是充要条件必不可少,否则会出现意想不到的情况.如果有天秀之才不听劝,然后出了问题就是活该.

  • 设置SDK的路径&增加编译工具的路径

这里的路径是指到SDK的根目录,以下是小编的相关设置信息.

  • SDK根目录的绝对路径

    D:\Project\ESP32\esp\esp-idf
    
  • 编译工具的路径

    %IDF_PATH%\tools
    
  • 详细地操作

查看注册表

注意,这一小篇节很重要.是否有乱码就靠这里的神操作了.希望那些不认真看文字的大佬要睁大眼睛看了,小编来放大招了.

  • Windows键+R

  • regedit

  • 找到HKEY_CURRENT_USER\Console

  • 查看是否有关键信息

    这里所说的关键信息是指的是,是否有如下两个内容.

    • %SystemRoot%_system32_cmd.exe
    • C:_Python27_python.exe

      如果有这两项内容,则分别%SystemRoot%_system32_cmd.exe 以及 C:_Python27_python.exe 右侧中的 CodePage对应的值改成十进制的 437,以及 FaceName对应的值改为 Lucida Console

    如果好死不死,我特么电脑没有这两玩意呢?这个时候也不要怕,小编说是大招就肯定是大招.直接新建两个后缀为 .reg的文件,内容分别填充以下内容:

  • 第一个.reg文件的内容

     Windows Registry Editor Version 5.00
     [HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
     "FaceName"="Lucida Console"
     "InsertMode"=dword:00000000
     "ScreenBufferSize"=dword:001e0078
     "WindowPosition"=dword:004e004e
     "CodePage"=dword:000001b5
    
  • 第二个.reg文件的内容

     Windows Registry Editor Version 5.00
     [HKEY_CURRENT_USER\Console\C:_Python27_python.exe]
     "InsertMode"=dword:00000000
     "CodePage"=dword:000001b5
     "ScreenBufferSize"=dword:001e0078
     "WindowPosition"=dword:001a001a
     "FaceName"="Lucida Console" 
    

    填充完成之后,直接单击打开这两个 .reg文件.然后,不管弹什么警告都同意.

vscode

好像前面的准备工作中所讲的内容有点多,但这一切都是值得的,接下来我好像听到大家磨刀霍霍的声音.

打开示例工程

使用vscode以文件夹打开的方式打开示例工程.在这里,我还要说明一下.使用vscode打开示例工程的时候,不需要打开整个ESP-IDF,你只需要打开示例工程即可.

配置任务

任务这个概念是vscode中的,不是小编提出来的.小编做为一个九线土锤的24K纯屌丝是搞不出这样的高级货的.那么如何来配置任务呢?

  • Ctrl+Shift+P
  • Tasks:Configure Task
  • 使用模板创建tasks.json文件
  • others
  • 填充参数
    {
      // See https://go.microsoft.com/fwlink/?LinkId=733558
      // for the documentation about the tasks.json format
      "version": "2.0.0",
      "tasks": [
        {
          "label": "build app",
          "command": "idf.py",
          "type": "shell",
          "args": [
            "build"
          ],
          "presentation": {
            "reveal": "always",
            "echo": true
          },
          "problemMatcher": {
            "owner": "cpp",
            "fileLocation": "absolute",
            "pattern": {
              "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
              "file": 1,
              "line": 2,
              "column": 3,
              "severity": 4,
              "message": 5
            }
          }
        },
        {
          "label": "clean app",
          "command": "idf.py",
          "type": "shell",
          "args": [
            "clean"
          ],
          "presentation": {
            "reveal": "always",
          },
        },
        {
          "label": "flash app",
          "command": "idf.py",
          "type": "shell",
          "args": [
            "-p",
            "COM3",
            "flash"
          ],
          "presentation": {
            "reveal": "always",
          },
        },
        {
          "label": "monitor",
          "type": "shell",
          "windows": {
            "command": "",
            "args": [
              "idf.py",
              "-p",
              "COM3",
              "monitor"
            ],
          },
          "presentation": {
            "reveal": "always",
          },
          "problemMatcher": []
        },
        {
          "label": "menuconfig",
          "type": "shell",
          "windows": {
            "command": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell",
            "args": [
              "idf.py",
              "menuconfig"
            ]
          },
          "presentation": {
            "reveal": "always",
          },
          "problemMatcher": []
        }
      ]
    }
    

注意,有可能powershell路径,不同的电脑有所不同,以上是小编的路径

  • 详细的操作图示
    在这里插入图片描述

配置任务快捷键

虽然我们已经配置任务,可以通过任务来调用编译.但是,每次去点任务->运行任务->具体的编译命令,其实这样也挺烦人的.对于喜欢了IDE的嵌入式的工程师来说,早就习惯了各种快捷键了,那么为了使不是IDE的vscode更像一个更像IDE,接下来我们给这些编译命令增加快捷键.

  • Ctrl+Shift+P

  • 首选项:打开键盘快捷方式

  • 高级自定义请打开和编辑keybindings.json

  • 填充参数

    // Place your key bindings in this file to overwrite the defaults
    [
      {
        "key": "f5",
        "command": "workbench.action.tasks.runTask",
        "args": "build app"
      },
      {
        "key": "f6",
        "command": "workbench.action.tasks.runTask",
        "args": "clean app"
      },
      {
        "key": "f7",
        "command": "workbench.action.tasks.runTask",
        "args": "flash app"
      },
      {
        "key": "f8",
        "command": "workbench.action.tasks.runTask",
        "args": "monitor"
      },
      {
        "key": "f12",
        "command": "workbench.action.tasks.runTask",
        "args": "menuconfig"
      }
    ]
    
  • 详细的操作图示
    在这里插入图片描述

  • 快捷键映射表

    快捷键执行的编译命令
    F5build app
    F6clean app
    F7flash app
    F8monitor
    F12menuconfig
  • 更多的命令

最后

至此,就可以愉快地使用快捷键来开发ESP32啦.此文档解决了前面两篇中提到的乱码以及速度过慢的问题.编译速度已经达到在linux下编译的水准,应该是目前最完美的vscode开发esp32教程了.

最后

红旭无线Github
红旭无线技术交流论坛
微信公众号
在这里插入图片描述

本文原创,转载请注明出处

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值