900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > ESP32开发 0.windows Vscode开发环境搭建 基于esp-idf-V4.2 | Cmake | Vscode插件

ESP32开发 0.windows Vscode开发环境搭建 基于esp-idf-V4.2 | Cmake | Vscode插件

时间:2020-10-12 05:27:56

相关推荐

ESP32开发 0.windows Vscode开发环境搭建 基于esp-idf-V4.2 | Cmake | Vscode插件

一 前言

入坑嵌入式以来,一直都在寻找一款通用MCU控制器:他应有优秀的计算处理能力、丰富的外设扩展能力、支持有线/无线联网、小巧的封装。自从ESP8266爆火以来,熟悉过它的使用,但窘于硬件限制,只能做一些简简单单的事情,很多应用都需要搭配另外的MCU,体现不出多功能。随后ESP32发布,600MIPS运算能力、WIFI+BLE+ETH、QFN封装、不到10元的价格。一眼就认定它才是我要找寻的那个人,不过当时入门尚浅,网络啊Make啊不甚了解,加之生态还不是很完善,没有立即入坑。但现在ESP32的生态可谓相当成熟,乐鑫ESP-IDF的教程遍天是,数款模组和开发板任君选择,Arduino、PlatformIO、NodeMCU 都对ESP32提供了支持。比较有意思的是:上周树莓派发布了RP2040,但国内外论坛表示完全不虚,ESP32还能称霸好几年,国内厂商在某一领域做到这步,其付出尤为可嘉。

近期STM32涨价,供应商提前得知消息囤货导致价格暴涨,部分型号的价格翻了三四倍,更可怕的是芯片交期也变长了,替换的需求迫在眉睫。既然着眼长期,那索性来干脆点,国外的替换为国产,功能单一的替换为功能丰富的。在高性能商用处理器方面,与国外确实存在差距,但MCU领域完全不存在技术限制,既然市场有需求,那差的只是一个时机。商贩的炒价正好助长了一波MCU国产化替代浪潮,天下苦芯久矣,外芯已死国产当立。

言归正传,ESP32这个坑蹲很久了,近日有幸填上,之后会陆续推出一系列教程文章,包括基础外设 | RTOS | WIFI | 物联网平台 | 蓝牙 | GUI开发。另外择机肝出几个型号开发板,做demo开发、当当小摆件都是极好的,敬请期待。

二 ESP32的开发环境有哪几种?

ESP32的SDK有这么两种:1.使用乐鑫原厂的SDK,ESP-IDF;2.使用第三方开源库,如Arduino、NodeMCU。

出于开发,需要原厂技术支持考虑,使用 ESP-IDF。(ESP-IDF 内置 FreeRTOS+Lwip,无论是开发,还是用来学习MCU的嵌入式,都十分友好)

编译环境有两种:1.windows;2.linux。

windows的开发工具和软件多啊,并且教程多,方便查资料。

windows编译ESP32方式:1.windows模拟unix环境,如msys2,来GNUMake;2.win10自带的linux子系统 - WSL;3.CMake

第1种是以前推荐的方式,编译非常慢。第2种编译速度快好几倍,不过需要折腾一下。第3种是乐鑫最新推荐的,编译速度快,windows下非常好用。

IDE用哪种:1.Eclipse;2.Vscode。(本来Vscode不能称为IDE,不过乐鑫提供了一个异常强大的插件...于是乎...转正了)

盲选Vscode,帅就完了。乐鑫官方提供Vscode插件,一站式安装,直接将Vscode升格为IDE,配合上Vscode原有的插件、主题,coding的过程十分惬意。

于是本篇介绍的开发方式为:windows系统下,用Vscode进行一站式开发,使用最新推荐的CMake编译,编译速度大大提高。

.09.08 更新

由于 esp-idf-tools-setup 和 VSCode 插件发生了几次较大的版本变化,于是更新了最新的安装方法。本文的发布时间较早,方法较为古老,使用上不是特别方便,建议优先参考下面链接的安装方式:

ESP32 ESP-IDF开发环境搭建,Windows下基于ESP-IDF | Cmake | VScode插件的 ESP32 开发环境搭建

另外同期间,我在ESP32的开发学习过程中,总结了一套使用方法,并将其汇总为一个开源驱动库 - Easyio,目的是简化ESP-IDF开发框架的使用难度。目前已开放预览版本,功能涵盖GPIO、Key、UART、ADC、DAC、RMT、I2C、SPI、LCD、SDCard等外设驱动,下一步准备扩充jpeg解码库、OTA、LVGL、WIFI/BLE、有线以太网和一些网络通信的Demo。库的导入方式简便,直接拖入工程的components文件夹下即可使用。适合与此教程配套使用,详见:Easyio驱动库-Github

ESP32开源驱动库Easyio的使用,基于ESP-IDF开发框架,非Arduino

三 windows Vscode开发环境搭建

3.1 准备安装工具

1. esp-idf-tools-setup-2.3.exe:安装工具下载2. esp-idf-v4.2 SDK:乐鑫官网下载|| 或 ||github3. Visual Studio Code:Vscode下载4. Git:Git下载5. Python:Python下载

提前准备好工具,以前有安装过的就不需要装了。(Python一定要3.8版本,3.7安装会有非常多问题

事先声明

一定要先将 Git和Python安装好,ESP-IDF Tools的安装依赖于Python,而乐鑫的Vscode插件又要求Python版本不能太低。(一定要3.8)过程中试着安装了两三台电脑,都是Python版本的原因。

因为源的原因,下载速度很忙,所以能用本地安装就用本地安装。但还是要保持电脑始终联网。

3.2 安装Git

一路Next到底。以前有的就不要装了,对Git版本没什么要求。

3.3安装并更新Python

强烈建议使用Python3.8版本,不然后面问题好多。

更新,这一步也是必须的,不然后面运行Vscode插件会报错。

windows搜索cmd,使用命令行窗口:python.exe -m pip install --upgrade pip

3.4clone ESP-IDF-V4.2

Git clone ESP-IDF的最新版本。当前最新版本为 V4.2。

也可以去官网下载本地解压包,之后解压到当前目录。修改文件名为 esp-idf。

3.5esp-idf-tools-setup-2.3.exe

esp-idf-tools-setup-2.3.exe 是乐鑫为方便用户使用ESP-IDF,定制的一款工具集合包。包括Cmake、OpenOCD等,可以自动检测本地的 Python和Git,以便自动安装缺失工具。

双击安装,软件会自动检测本机安装过的 Python、Git。选中本地的 Python 3.8。(一定要3.8)Git 一样,选用本地现存版本。勾选使用本地的ESP-IDF,选择刚刚 ESP-IDF V4.2 的目录。选取 ESP-IDF-Tools 的安装目录。创建快捷方式。全勾上。对配置进行最后预览。无误后点击 Install 安装。之后开始自动安装。过程比较缓慢,耐心等待。安装完成,点击 Finish。运行一下。

桌面上会出现快捷方式,也可以通过这个来启动 ESP-IDF Command Prompt (cmd.exe)。

3.6验证编译

输入命令:(意思分别是:切换到Demo-hello_world工程的工作目录;显示目录文件;清理工程;编译)

cd examples\get-started\hello_worlddiridf.py cleanidf.py build

第一次编译会自动Git一些工具,时间会久一些。最后编译成功,生成了 .bin文件。能成功编译,就说明 ESP-IDF SDK 及 ESP-IDF Tools 编译环境准备完毕。

下面安装Vscode及乐鑫插件,此插件可以将Vscode升格为IDE,将编码、调试、终端操作,全部转移到Vscode上,方便Coding和调试。

3.7Vscode扩展插件(很大概率会出错)

从微软官网下载Vscode,一路Next安装到底。

乐鑫插件的安装,有很大概率会出现乱码和Error,导致不能使用插件的完整功能,但不影响后续开发。只要保证上一步在命令行窗口中能编译成功即可。

先安装一些实用插件,包括中文语言包和一些辅助工具。语言包要重新打开后生效。之后安装乐鑫插件。搜索 esp-idf。点击安装。查看 - 命令面板(Ctrl+Shift+P)。输入 configure esp-idf extension,点击。使用 ADVANCED 安装。选择本地 ESP-IDF 安装方式,选择 ESP-IDF 的路径。ESP-IDF Tools 也同样选择本地。自动安装扩展插件中,等待。安装完成,Setup界面可以关闭了。

4 Vscode插件安装失败怎么办?

ESP- IDF 插件的安装非常容易出错。不过问题不大,只要保证ESP-IDF Command Prompt (cmd.exe) 能正常编译即可。它的使用会在下一篇与创建新工程一起说。

一般情况,是最后显示配置成功,但如果使用 插件内置的build、flash就会报错乱码。

可能因为是测试版的缘故,有很多兼容性问题,不怪乎为什么它的评分刚3颗星。一般Vscode插件的评分都是4.5~5星。

ESP-IDF 插件不止容易出错,编译速度还不如ESP-IDF Command Prompt 快。同样都是 CMake,为啥你要比自带的命令行慢那么多。(实测同样的工程,命令行编译花30秒,Vscode内置编译花了一分半)

.03更新:随着ESP-IDF插件更新版本到V1.0.0,安装失败问题大多被修复,以前我一台电脑出现乱码不能用Vscode内置的终端,现在随着版本更新都可以使用了。

安装过程中,请留意下方的输出信息。

如果出现下方类似的乱码和Error,即使最终显示 ESP-IDF 插件配置成功,但如果使用 左下角的图标去 build、flash,又会报错并且弹出设置界面。

5 注意事项

最容易出错的地方是 Vscode乐鑫插件配置失败。该插件严重依赖Python,Python必须为3.8,3.7不行。Python3.8安装后,一定到更新。一定一定!!我试了两台电脑,一台完美安装运行,另一台在Vscode配置插件过程中出现乱码和Error。虽然最后显示配置成功,并且能从SDK的例程中创建新工程,但不能使用Vscode里的编译、下载。一编译就会弹出最开始的ESP-IDF配置界面,只好另外运行ESP-IDF Command Prompt (cmd.exe) ,用命令行操作。推荐Vscode插件只用来 创建工程、编码编译、下载、监视端口 交给ESP-IDF Command Prompt。Vscode的 ESP-IDF插件体验真是一言难尽,希望乐鑫能重视这个问题,尽快迭代出完善的版本。

.03更新:随着ESP-IDF插件更新版本到V1.0.0,安装失败问题大多被修复,以前我一台电脑出现乱码不能用Vscode内置的终端,现在随着版本更新都可以使用了。

ESP32开发板开源计划

现已开源一款ESP32物联网开发板,支持WIFI、蓝牙、以太网、RS485、CAN通信。板载6轴IMU、温湿度传感器、38K红外遥控收/发、独立RTC、TF卡座。USB和18650双电源供电,有2.0寸单点电容屏可用,配套各外设驱动和LVGL源码。Github、立创EDA、CSDN全云端同步更新。

详情可见:

- ESP32-IOT-KIT 开发板介绍

ESP32开发板开源啦 ESP32-IOT-KIT全开源物联网开发板

- PCB硬件

立创EDA:ESP32开发板 IOT-KIT原理图、PCB、BOM

打样免费的时代,速去JLC白嫖PCB。

- 开源学习交流Q群:827686418

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。