admin 管理员组文章数量: 887016
一 前言
入坑嵌入式以来,一直都在寻找一款通用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,来GNU Make;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编译,编译速度大大提高。
2021.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:乐鑫官网下载 || 或 || github
- 3. 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.4 clone ESP-IDF-V4.2
Git clone ESP-IDF的最新版本。当前最新版本为 V4.2。
也可以去官网下载本地解压包,之后解压到当前目录。修改文件名为 esp-idf。
3.5 esp-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_world
dir
idf.py clean
idf.py build
- 第一次编译会自动Git一些工具,时间会久一些。最后编译成功,生成了 .bin文件。
- 能成功编译,就说明 ESP-IDF SDK 及 ESP-IDF Tools 编译环境准备完毕。
下面安装Vscode及乐鑫插件,此插件可以将Vscode升格为IDE,将编码、调试、终端操作,全部转移到Vscode上,方便Coding和调试。
3.7 Vscode扩展插件(很大概率会出错)
从微软官网下载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内置编译花了一分半)
2021.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插件体验真是一言难尽,希望乐鑫能重视这个问题,尽快迭代出完善的版本。
2021.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
本文标签: 插件 环境 Windows vscode IDF
版权声明:本文标题:ESP32开发 0.windows Vscode开发环境搭建,基于esp-idf-V4.2 | Cmake | Vscode插件 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729142673h1323145.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论