目录

点击这里查看所有博文

  本系列博客所述资料均来自乐鑫官方,并不是本人原创(只有博客是自己写的)。出于热心,本人将自己的所学笔记整理并推出相对应的使用教程,方面其他人学习。为国内的物联网事业发展尽自己的一份绵薄之力,没有为自己谋取私利的想法。若出现侵权现象,请告知本人,本人会立即停止更新,并删除相应的文章和代码。

一、前言

  各位熟悉乐鑫的小伙伴,都知道乐鑫提供了Linux编译环境、Windows的编译环境。Windows的编译速度要比Linux慢得多。我的电脑配置其实也不差7400标压、24GB内存、Nvme固态。用乐鑫提供的Windows编译环境完整编译一次最少也得4分钟。这简直不能忍实在是太慢了。
在这里插入图片描述
  虽然乐鑫现在的IDF框架也逐渐向CMAKE构建靠拢,编译速度也有所提升,但是它目前还是不支持ESP8266的。编译8266还是一大痛点--------慢。

  装Linux虚拟机效率又低,用Windows编译环境吧速度又慢。怎么讲呢Linux日用我不是特别喜欢,还是Windows香,装个双系统把,切换又麻烦。
在这里插入图片描述
  那么今天我们把这三种开发环境的优势全部集合在一起。在Windows上运行Linux子系统,让你在使用Windows时也能体验到在原生Linux上的编译体验。
在这里插入图片描述

二、启用Linux子系统功能

2.1、控制面板开启子系统功能

  2.1小节详细内容请参考我的Linux的常用技巧专题,第2篇文章启用Windows的Linux子系统功能。
  注意:需要安装Ubuntu 18.04版本。20.04不适用于本教程。

2.2、修改Linux默认软件源

  2.2小节详细内容请参考我的Linux的常用技巧专题,第1篇文章更改Ubuntu默认软件源,提高下载速度。

三、搭建ESP8266编译环境

3.1、搭建ESP8266在Linux的开发环境

  3.1小节详细内容请参考我的乐鑫ESP系列环境搭建专题,第1篇文章搭建ESP8266在Linux上的编译环境。

3.2、编译工程模板

3.2.1、编译NONOS工程

3.2.1.1、vscode打开工程模板

  注意:我现在的工程是在Windows系统的D盘根目录下。
在这里插入图片描述

3.2.1.2、开启远程连接

  点击左下角的图标。
在这里插入图片描述
  点击Reopen Folder in WSL
在这里插入图片描述
  代表连接Linux子系统成功。
在这里插入图片描述

  右击app文件夹,选择在终端打开。
在这里插入图片描述
  由于Linux子系统会自动将Windows系统的盘符全部挂载在/mnt目录下,所以终端路径提示在/mnt/d/ESP8266_NONOS_SDK/app是没有问题的。如果路径中没有/mnt说明前面有一步做错了。
在这里插入图片描述

3.2.1.3、开始编译

  输入下面的命令加载环境变量。没有任何提示代表加载成功。每次重新登录都需要加载一次。

get_esp8266

  输入make clean清除编译记录。在这里插入图片描述
  输入以下命令开始编译。

make  COMPILE=gcc BOOT=none APP=0 SPI_SPEED=40 SPI_MODE=QIO SPI_SIZE_MAP=4 

  如图所示代表编译成功。
在这里插入图片描述

3.2.2、编译ESP8266_RTOS工程

3.2.2.1、vscode打开工程模板

  注意:我现在的工程是在Windows系统的D盘根目录下。
在这里插入图片描述

3.2.2.2、开启远程连接

  点击左下角的图标。
在这里插入图片描述
  点击Reopen Folder in WSL
在这里插入图片描述
  如下图所示,代表连接Linux子系统成功。
在这里插入图片描述

  右击空白处,选择在终端打开。
在这里插入图片描述
  由于Linux子系统会自动将Windows系统的盘符全部挂载在/mnt目录下,所以终端路径提示在/mnt/d/8266_hello_world是没有问题的。如果路径中没有/mnt说明前面有一步做错了。
在这里插入图片描述

3.2.2.3、开始编译

  输入下面的命令加载环境变量。没有任何提示代表加载成功。每次重新登录都需要加载一次。

get_esp8266

  安装pip工具

sudo apt install python-pip

  安装所需的Python软件包

python -m pip install --user -r $IDF_PATH/requirements.txt

  输入make clean清除编译记录。
在这里插入图片描述
  输入make all -j8命令开始编译。
在这里插入图片描述

  如下图所示代表编译成功。我电脑测试完整编译大概一分钟左右的时间。比直接用Windows版本的编译环境要快得多。
在这里插入图片描述

四、搭建ESP32编译环境

4.1、搭建ESP32在Linux的开发环境

  4.1小节详细内容请参考我的乐鑫ESP系列环境搭建专题,第2篇文章搭建ESP32在Linux上的编译环境。

4.2、编译工程模板

4.2.1、vscode打开工程模板

  注意:我现在的工程是在Windows系统的D盘根目录下。
在这里插入图片描述

4.2.2、开启远程连接

  点击左下角的图标。
在这里插入图片描述
  点击Reopen Folder in WSL
在这里插入图片描述
  代表连接Linux子系统成功。
在这里插入图片描述

  右击空白处,选择在终端打开。
在这里插入图片描述
  由于Linux子系统会自动将Windows系统的盘符全部挂载在/mnt目录下,所以终端路径提示在/mnt/d/32_hello_world是没有问题的。如果路径中没有/mnt说明前面有一步做错了。
在这里插入图片描述

4.2.3、开始编译

  输入下面的命令加载环境变量。没有任何提示代表加载成功。每次重新登录都需要加载一次。

get_esp32

  安装pip工具

sudo apt install python-pip

  安装所需的Python软件包

python -m pip install --user -r $IDF_PATH/requirements.txt

  输入make clean清除编译记录。
在这里插入图片描述
  输入make menuconfig命令开始生成配置文件。

  输入make all -j8命令开始编译。
在这里插入图片描述

  如下图所示代表编译成功。我电脑测试完整编译大概一分钟左右的时间。比直接用Windows版本的编译环境要快得多。
在这里插入图片描述

五、总结

  完全按照本文所写的教程步骤,一句句读,一句话别少,一步步走不会出现问题。我是在一台纯净的虚拟机上完成的这篇博客,环境是现场搭建的,真正的手把手的小白教程(需要一部分Linux基础)。这要是还搞不定,那我就没办法了。
  本文一个写了三种开发环境的搭建。
  它们分别是:搭建ESP8266的NONOS的开发环境搭建ESP8266的RTOS的开发环境搭建ESP32的ESP_IDF的开发环境
  这三个环境可以共存。
  通过get_esp8266来启用ESP8266的开发环境。nonos和rtos共用同一个交叉编译链。nonos无需设置IDF_PATH,rtos需要设置IDF_PATH。
  通过get_esp32来启用ESP32的开发环境。

这里只是我的学习笔记,拿出来给大家分享,欢迎大家批评指正,本篇教程到此结束

原文链接:https://blog.csdn.net/weixin_44570083/article/details/106672329

最后修改日期:2020年6月13日