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"
    }
    ]
  • 详细的操作图示

  • 快捷键映射表

    快捷键 执行的编译命令
    F5 build app
    F6 clean app
    F7 flash app
    F8 monitor
    F12 menuconfig
  • 更多的命令

最后

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

技术交流

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

猜你喜欢

转载自blog.csdn.net/xiaolongba/article/details/82528936