ESP32:windows+vscode+idf开发环境搭建

Visual Studio Code大家可以在微软的官网上根据自身的开发平台下载,下载地址如下所示: Visual Studio Code下载地址

  • 开发框架esp-idf

乐鑫的esp-idf包均放在Github上 (尽可能地选择release版本,不要选择尝鲜版本),具体下载地址如下所示: esp32 esp-idf开发包下载地址

  • 编译工具链

Visual Studio Code毕竟只是一个轻量级的代码编辑工具,本身是不自带编译工具链的,而且乐鑫ESP32芯片使用的又不是主流的ARM内核,所以还是要使用乐鑫官方指供的工具链才行,具体的下载如下所示: ESP32编译工具链下载地址

 

最新乐鑫搭建手册:

前言

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

这段时间在QQ群里经常有很多新人在看了笔者的这篇文章,按照步骤来操作之后,出现大概率无法正常编译的问题。当时小编听到他们的抱怨,心底就想 “你们头脑能不能再Smart点” ,大学的老师上课的PPT都用了几十年了,还不是照样教你们,你们出来社会不也照 样拿着几十K的月薪?难道你们连小编都不如吗?后来,我发现我日,乐鑫官方的SDK已经全面支持Cmake了。好吧,这个时候小编也不得不再次更新此教程了。随我慢慢道来……

系统环境

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

准备工作

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

  • ESP-IDF Tools Installer

    打开上面的链接找到 ESP-IDF Tools Installer章节,下载最新版本的ESP-IDF Tools Installer即可。

  • Git For Windows

    如果之前安装过,则不用再次下载此工具

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

下载Cmake特性的ESP-IDF(最新的版本已经默认全面支持Cmake了)

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

  • 步骤1

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

     

  • 步骤2

    git clone --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": [
    "fullclean"
    ],
    "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
  • 更多的命令

效果展示

  • menuconfig 

  • fullclean 

  • build 

其他的类似烧录app等这些动作均跟上面的操作一致。

最后

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小薛1988

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值