【无标题】WIN11下 ESP8266 _RTOS_SDK3.0以上开发环境搭建(记录及避坑必看)

前提参考文档

1、乐鑫官网:
https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/index.html
官网上有如何搭建windows linux macos 三种环境,以及如何配置Eclipse去编译和开发项目(如何安装Eclipse环境,请参考:
https://blog.csdn.net/weixin_41634778/article/details/112628552?spm=1001.2014.3001.5506)。
2、别人的安装步骤
https://blog.csdn.net/tjb132/article/details/112257592

搭建开发环境选择

windows下开发环境选择有两个,一个是自行搭建开发环境(本文主要讲解是这个方法),另外一个是安信可的一体化安装环境(如有需要:
请参考:
https://blog.csdn.net/Boantong_/article/details/106229281?spm=1001.2014.3001.5506)。
其中,自行搭建开发环境当然会碰见坑。下面重点记录:
这里主要记录过程中的踩坑点:
1、整体环境配置思路和一般的开发一样,需要安装:
(1)windows环境下的编译工具链
https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20181001.zip。
注意:
== msys32文件夹 所在的路径名字如果太长,自行可以修改 ==
解压到你自己指定的目录后,会得到msys32文件夹(这个是windows下的一个linux环境,可以认为是一个linux 虚拟机,后边所有的编译、下载指令都在这个里边完成),需要在系统环境变量下添加以下路径到PATH变量下:
a)你自己的路径+\msys32\mingw32\bin;(添加这个作用是为了后边能找到python2.7.exe,因为后边在执行make 命令的时候会依赖于python 的工具包);
b)你自己的路径+\msys32\usr\bin;(添加这个作用是为了后边能找到make.exe以及其他作用的可执行文件)。
(2)乐鑫ESP8266的工具链
可以使用官方最新的8.4版本,也可以使用老版本5.2(至于为什么是5.2,可以在后边的配置文件中看到版本要求,这里先安装正确版本),
另外请注意,本文主要针对的是SDK包在3.0以上
https://dl.espressif.com/dl/xtensa-lx106-elf-win32-1.22.0-100-ge567ec7-5.2.0.zip。
解压后,找到xtensa-lx106-elf,将你自己的路径+xtensa-lx106-elf\bin添加到系统环境变量下添加以下路径到PATH变量下:
添加这个作用是为了后边能找到乐鑫ESP8266所有的工具包执行文件,包括gcc5.2.exe。
== 这里注意:xtensa-lx106-elf里边又包含了xtensa-lx106-elf同名文件夹==
(3)下载ESP8266_RTOS_SDK包
注意:这里是大坑,不要按照官网去执行git 命令去clon github地址,因为国内环境问题,pull的SDK包是不完整的,尤其是在拉取依赖编译的子模块时,根本拉取不完整,别浪费时间再去找gitee国内镜像了,别问我为什么知道,我浪费了两天时间在这个地方,毫无意义,下边说解决方法
解决方法:乐鑫官网已经提供了:
https://www.espressif.com.cn/zh-hans/support/download/sdks-demos?keys=&field_type_tid%5B%5D=14
在这里插入图片描述
最新的是ESP8266_RTOS_SDK Release v3.4,版本之间修复一些bug,根据自己需要下载。
直接下载压缩包即可,这个肯定是完整的。
在这里插入图片描述
2、配置路径。以上三个文件准备好后,后边就很简单了,在MSYS32下配置ESP8266编译工具链+SDK的路径。具体为:你自己的路径(E:\esp8266\toolchain\esp32_win32_toolchain-20181001)+\msys32\etc\profile.d,找到esp32_toolchain.sh,使用文本编辑器(这个随便哪个都可以)打开,编辑以下内容后保存退出:

export PATH=“ P A T H : / o p t / x t e n s a − e s p 32 − e l f / b i n " e x p o r t P A T H = " PATH:/opt/xtensa-esp32-elf/bin" export PATH=" PATH:/opt/xtensaesp32elf/bin"exportPATH="PATH:/opt/xtensa-lx106-elf/bin”
export IDF_PATH=“E:/esp8266/toolchain/esp32_win32_toolchain-20181001/msys32/home/zyf/esp/ESP8266_RTOS_SDK”
export LANG=“en_US”

这里最好在系统变量中也添加以下 IDF_PATH及其对应的值。
配置完后,双击打开msys32下mingw32.exe,也可以发送桌面,经常会用。
打开后,在终端窗口下 输入 P A T H 和 PATH 和 PATHIDF_PATH,验证是否和之前配置的一样。
3、安装ESP8266编译过程中依赖的python 工具包。
python -m pip install --user -r $IDF_PATH/requirements.txt
== 注意:在执行之前最好 先输入一下 python 命令,正确的话 你会看到python2.7版本的回复==
如果不正确的话,请返回上边继续查找问题所在。

4、编译工程文件。
假定你的工程是在E:\projects\hello_world,
那么直接cd 到工程目录下后,执行make menuconfig 配置串口以及下载的参数。
在这里插入图片描述
这里主要配置串口参数,根据自己需要修改不再细说,配置好后保存退出:
在这里插入图片描述
配置项目的具体内容在E:\projects\hello_world\sdkconfig中可以查看。
注意,串口配置的时候就需要电脑连接ESP8266模组了,这里提一句ESP8266模组是串口通讯,电脑上为USB口,所以需要有一个串口转USB TTL的工具或者自行准备转换板或者买现成的开发板
之后执行make flash 命令 执行编译得到bin 文件。
在这里插入图片描述
接着 执行 make monitor后会出现(这里会循环重启MCU):
在这里插入图片描述
也可以通过SSCOM 串口调试助手打开后,看到日志
在这里插入图片描述到此,编译 下载 运行已经结束。
需要注意的是 shell脚本和串口调试助手只能看一个。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/44863.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微人事 登录问题完善

重启服务端的时候,发现前端页面会操作不了,这样后端session会失效,我们就需要让页面重新跳转到登录页 springsecurity配置类后端配置 前端拦截器进行拦截跳转

【STM32RT-Thread零基础入门】 5. 线程创建应用(线程创建、删除、初始化、脱离、启动、睡眠)

硬件:STM32F103ZET6、ST-LINK、usb转串口工具、4个LED灯、1个蜂鸣器、4个1k电阻、2个按键、面包板、杜邦线 文章目录 前言一、线程管理接口介绍二、任务:使用多线程的方式同时实现led闪烁和按键控制喇叭(扫描法)1. RT-Thread相关接…

使用mysql:5.6和owncloud镜像构建个人网盘

一、拉取镜像 使用docker拉取mysql:5.6和owncloud的镜像 [rootexam ~]# docker pull mysql:5.6 [rootexam ~]# docker pull owncloud 运行镜像生成容器实例 [rootexam ~]# docker run -d --name mydb1 --env MYSQL_ROOT_PASSWORD123456 mysql:5.6 a184c65b73ff993cc5cf86f…

700. 二叉搜索树中的搜索

给定二叉搜索树(BST)的根节点 root 和一个整数值 val。 你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。 示例 1: 输入:root [4,2,7,1,3], val 2 输出:[2,1,3]…

vue3生命周期

原理 vue3也提供了Composition API形式的生命周期钩子,与vue2.x中钩子对应关系如下: beforeCreate setup() created setup() beforeMountonBeforeMount mountedonMounted beforeUpdateonBeforeUpdate updat…

docker的安装与基础使用

一.docker简介 1)什么是docker Docker是一种用于构建、打包和运行应用程序的开源平台。它基于操作系统级虚拟化技术,可以将应用程序和其依赖的库、环境等资源打包到一个可移植的容器中,形成一个轻量级、独立的可执行单元。 开发者在本地编…

MySQL流程控制

流程控制 顺序结构: 程序从上往下依次执行分支结构: 程序按条件进行选择执行,从两条或多条路径中选择一条执行。循环结构: 程序满足一定条件下,重复执行一组语句 针对于MySQL的流程控制语句主要有3类。注意&#xff…

Vulnhub系列靶机--- Hackadmeic.RTB1

系列:Hackademic(此系列共2台) 难度:初级 信息收集 主机发现 netdiscover -r 192.168.80.0/24端口扫描 nmap -A -p- 192.168.80.143访问80端口 使用指纹识别插件查看是WordPress 根据首页显示的内容,点击target 点击…

webshell绕过

文章目录 webshell前置知识进阶绕过 webshell 前置知识 <?phpecho "A"^""; ?>运行结果 可以看到出来的结果是字符“&#xff01;”。 为什么会得到这个结果&#xff1f;是因为代码的“A”字符与“”字符产生了异或。 php中&#xff0c;两个变…

线程池原理

一、线程池的定义 线程池&#xff0c;按照配置参数&#xff08;核心线程数、最大线程数等&#xff09;创建并管理若干线程对象&#xff0c;没有任务的时候&#xff0c;这些线程都处于等待空闲状态。如果有新的线程任务&#xff0c;就分配一个空闲线程执行。如果所有线程都处于…

opencv进阶03-图像与鼠标的交互示例

在处理图像时&#xff0c;可能需要与当前正在处理的图像进行交互。OpenCV 提供了鼠标事件&#xff0c;使用户可以通过鼠标与图像交互。鼠标事件能够识别常用的鼠标操作&#xff0c;例如&#xff1a;针对不同按键的单击、双击&#xff0c;鼠标的滑动、拖曳等。 例如&#xff0c;…

【广州华锐视点】VR线上教学资源平台提供定制化虚拟现实学习内容

虚拟现实&#xff08;VR&#xff09;技术的出现为我们提供了一种全新的在线教学方式。由广州华锐视点开发的VR线上教学资源平台&#xff0c;作为一个综合性的学习工具&#xff0c;正在教育领域迅速发展&#xff0c;并被越来越多的教育机构和学生所接受。那么&#xff0c;VR线上…

把握潮流:服装定制小程序的发展与趋势

随着互联网的快速发展&#xff0c;小程序成为了人们生活中不可或缺的一部分。尤其在服装行业&#xff0c;定制化已经成为了一种趋势。为了满足消费者个性化的需求&#xff0c;服装定制小程序应运而生。 为了方便开发者的设计和制作&#xff0c;我们可以使用第三方的制作平台来创…

vscode + python

序 参考链接&#xff1a; 【教程】VScode中配置Python运行环境_哔哩哔哩_bilibili Python部分 Python Releases for Windows | Python.org vscode部分 Visual Studio Code - Code Editing. Redefined 一路next&#xff0c;全部勾上&#xff1a; 就可以了&#xff1a; 安装插…

优化GitHub网站访问慢的问题

方法一、修改host文件解决 大型网站服务器都不会是只有一台服务器,而是多台服务器组成的集群一起对外提供服务。 使用站长工具测速&#xff0c;找一个速度比较快的服务器。 图中可以看到140.82.121.4这个ip比较快&#xff0c; 下面修改hosts: Mac 在 /etc/hosts 中&#x…

stm32_ADC电源、通道、工作模式

0、ADC功能框图 1、ADC的电源 1.1、工作电源 VSSAVSS&#xff0c;VDDAVDD&#xff0c;简单来说&#xff0c;通常stm32是3.3V&#xff0c;ADC的工作电源也是3.3V&#xff1b; 1.2、参考电压 VREF和VREF-并不一定引出&#xff0c;取决于封装&#xff0c;如果没有引出则VREF连接到…

classloader的讲解

我们先从Activity的启动流程开始切入&#xff1a; //位于android/app/ActivityThread.java中 private Activity performLaunchActivity(ActivityClientRecord r, Intent customIntent) {// ........省略代码//通过反射创建activityjava.lang.ClassLoader cl appContext.getCl…

重新认识小米

被镁光灯聚焦的企业&#xff0c;总是会被贴上各种标签。 8月14日&#xff0c;小米科技创始人雷军以“成长”为主题的年度演讲&#xff0c;刷遍社交网络。提到小米&#xff0c;你首先想到什么&#xff1f;手机发烧友、极致性价比&#xff0c;还是最年轻的500强&#xff1f; 这…

mapper.xml中循环执行多条语句时报错,但是单独拿SQL到数据库却可以执行

我是批量修改数据&#xff0c;用foreach标签包住update语句&#xff0c;报错信息如下&#xff1a; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the …

区块链应用 DApp 开发需要掌握的技能

文章目录 前言为什么要开发 DAppDApp 的优势DApp 应用范围DApp 开发者技能 前言 前面区块链系列的文章中介绍了区块链技术、智能合约、web3js&#xff0c;Solidity 编程语言&#xff0c;在开发者的角度就是要基于这些知识在Web3时代去开发一个 DApp&#xff08;去中心化应用程…