1. 之前的尝试(失败的尝试)

咸鱼买了3块ESP32开发板。背面写了NODEMCU v1.1,好像这玩意可以直接写lua,也可以刷Micropython写python,还可以用Arduino IDE写c。我想直接用官方库写C。

和乐鑫的这块开发板(ESP32-DevKitC)外观还挺像的(外观和引脚),可以参考这个文档

图1 ESP32-DevKitC

...... 经历了一段失败的尝试。

这期间玩了下ESP8266,稍微有了点环境方面的经验。可参考 ESP8266 系统环境搭建

先直接用之前的程序什么也不改(只改个串口号)来烧录。

报错:

Running stub...

A fatal error occurred: Invalid head of packet (0x46)
make: *** [/e/labs/esp8266/ESP8266_RTOS_SDK/components/esptool_py/Makefile.projbuild:76: flash] Error 2

ESP8266的RTOS是 https://github.com/espressif/ESP8266_RTOS_SDK

ESP32 的RTOS是 https://github.com/espressif/esp-idf

ESP8266设置时除了设置RTOS路径,还要设置专用的工具链,而ESP32不需要另外下载工具链。

下载RTOS

git clone --recursive https://github.com/espressif/esp-idf.git

在环境中设置rtos目录

编辑 vim ~/.bash_profile,上面注释的两行是之前配置的ESP8266路径,最后一行是新增的配置

图2 配置文件

编译

复制个 hello world 项目过来。make 报错

make menuconfig
make: *** No rule to make target 'menuconfig'. Stop.

新建了 Makefile

PROJECT_NAME := myProject

include $(IDF_PATH)/make/project.mk

发现 idf 目录下没有make目录,切换个版本:

git checkout release/v4.4

V4.4对应文档在 构建系统 (传统 GNU Make)

而且有4.4到5的升级指南,看来5这次升级改动比较大,那就一直用V4版本吧。

又经历了一段失败的尝试...

2. 新的尝试(vscode + espressif)

上面的不用看了,全都PASS掉。直接用官网教程 github - vscode-esp-idf-extension install 一步步进行即可。

直接使用 vscode 下的 扩展。

在python自动安装库的时候,出现错误

Could not fetch URL https://pypi.org/simple/pip/: There was a

修改当前使用的pip源即可,参考Python基础-03-设置pip源

在家里装好了后,将.espressif 和 esp-idf 目录都拷下来。到公司直接放到指定目录后,选择 EXPRESS (再选择本地的ESP-IDF 以及 tools 目录)运行安装,发现总是报错,包含:

        module = __import__(self.module_name, fromlist=['__name__'], level=0)
ModuleNotFoundError: No module named 'setuptools.command.build'
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Traceback (most recent call last):
File "d:\Software\esp-idf\tools\idf_tools.py", line 1860, in <module>
main(sys.argv[1:])
File "d:\Software\esp-idf\tools\idf_tools.py", line 1856, in main
action_func(args)
File "d:\Software\esp-idf\tools\idf_tools.py", line 1577, in action_install_python_env
subprocess.check_call(run_args, stdout=sys.stdout, stderr=sys.stderr, env=env_copy)
File "subprocess.py", line 364, in check_call
subprocess.CalledProcessError: Command '['C:\\Users\\Administrator\\.espressif\\python_env\\idf4.4_py3.8_env\\Scripts\\python.exe', '-m', 'pip', 'install', '--no-warn-script-location', '-r', 'd:\\Software\\esp-idf\\requirements.txt', '--extra-index-url', 'https://dl.espressif.com/pypi']' returned non-zero exit status 1.

的一大长串错误。想着这么安装到底行不行,看到配置中有两个大大的路径名

便把这两个路径加到环境变量中,重启vscode 后,现在有三种选项了,直接选最后一个(使用用户配置),就成功了。

还得再备注一下,这之前我还修改了 .espressif/esp-idf.json 文件。修改为了当前目录,不知道有没有影响,也一块贴到这里了

{
"$schema": "http://json-schema.org/schema#",
"$id": "http://dl.espressif.com/dl/schemas/esp_idf",
"_comment": "Configuration file for ESP-IDF IDEs.",
"_warning": "Use / or \\ when specifying path. Single backslash is not allowed by JSON format.",
"gitPath": "C:\\Users\\Administrator\\.espressif\\tools\\idf-git\\2.30.1\\cmd\\git.exe",
"idfToolsPath": "C:\\Users\\Administrator\\.espressif",
"idfSelectedId": "esp-idf-ba516b215dd292dbb871744b96db338d",
"idfInstalled": {
"esp-idf-ba516b21593292dbb8dd744b96db338d": {
"version": "4.4.2",
"python": "C:\\Users\\Administrator\\.espressif\\python_env\\idf4.4_py3.8_env\\Scripts\\python.exe",
"path": "d:\\Software\\esp-idf"
}
}
}

基本使用Tutorials

3. 点个灯

从 esp-idf\examples\get-started\ 下复制blink项目,用vscode 打开,点击左侧ESP-IDF 扩展。

下边栏就出现了菜单

  • 首先 target,

  • 然后Crtl+E G进行配置,

  • 在命令面板下通过IDF命令来生成 C/C++ 配置文件:

  • Ctrl+E B, build 项目,过程比较久,可以在终端下查看

更详细流程可参考tutorial 中 basic_use教程。

  • Ctrl+E P 选择串口
  • Ctrl+E F 进行烧录
  • Ctrl+E M 进行监视

注:上面的快捷方式都有对应的菜单可以点击的。快捷键是按一个组合之后,再按另一个键,比如Ctrl+E M, 先按 Ctrl+E, 松开再快速按M。

环境搭建好了,终于可以愉快地玩耍了:)

参考

Windows下ESP32 环境搭建(基于esp-idf FreeRTOS)的更多相关文章

  1. Windows下的环境搭建Erlang

    Windows下的环境搭建 Erlang 一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二. ...

  2. Redis在windows下的环境搭建

    Redis在windows下的环境搭建 下载windows版本redis,,官方下载地址:http://redis.io/download, 不过官方没有Windows版本,官网只提供linux版本的 ...

  3. 2017.7.18 windows下ELK环境搭建

    参考来自:Windows环境下ELK平台的搭建 另一篇博文:2017.7.18 linux下ELK环境搭建 0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7, ...

  4. Spark在Windows下的环境搭建(转)

    原作者:xuweimdm   原文网址:http://blog.csdn.net/u011513853/article/details/52865076 由于Spark是用Scala来写的,所以Spa ...

  5. Spark学习笔记--Spark在Windows下的环境搭建

    本文主要是讲解Spark在Windows环境是如何搭建的 一.JDK的安装 1.1 下载JDK 首先需要安装JDK,并且将环境变量配置好,如果已经安装了的老司机可以忽略.JDK(全称是JavaTM P ...

  6. 二、Spark在Windows下的环境搭建

    由于Spark是用Scala来写的,所以Spark对Scala肯定是原生态支持的,因此这里以Scala为主来介绍Spark环境的搭建,主要包括四个步骤,分别是:JDK的安装,Scala的安装,Spar ...

  7. Spark学习笔记--Spark在Windows下的环境搭建(转)

    本文主要是讲解Spark在Windows环境是如何搭建的 一.JDK的安装 1.1 下载JDK 首先需要安装JDK,并且将环境变量配置好,如果已经安装了的老司机可以忽略.JDK(全称是JavaTM P ...

  8. Windows下Django环境搭建

    总体示意图如下:  Windows下搭建Django环境 1.安装Python版本 2.安装pip工具,一般Python安装都会自动会有这个,在你python安装命令下Scripts文件夹下 3.dj ...

  9. windows下cocos2d-x环境搭建

    该教程使用的cocos2dx的版本为3.14,3之后的大概都差不多 Python环境搭建: cocos2dx在windows上新建工程需要用到python脚本,安装python-2.7.x,可以上py ...

随机推荐

  1. 官方出品,比 mydumper 更快的逻辑备份工具

    mysqldump 和 mydumper 是我们常用的两个逻辑备份工具. 无论是 mysqldump 还是 mydumper 都是将备份数据通过 INSERT 的方式写入到备份文件中. 恢复时,myl ...

  2. 2020.10.24【普及组】模拟赛C组 总结

    T1:暴力 1:先从 6 个中选三个,再把选出的三个全排列,全排列后再判断是否可行 2:把 6 个全都全排列,然后判断 T2:判断误差 1:减法时结果加上 1e-8 2:把小数乘上 1e6 左右 考试 ...

  3. C#.NET读取文本文件的几种办法

    一次读取一个字符 //文件路径 string filePath = @"C:\Users\Administrator\Downloads\test\test.txt"; //文本读 ...

  4. 1.4 操作系统的其余功能 -《zobolの操作系统学习札记》

    1.4 操作系统的其余功能 操作系统除了虚拟化.并发.存储管理三个主要功能,还有许多子功能,我主要介绍几种常见的功能比如 目录 1.4 操作系统的其余功能 稳定性 高性能 隔离保护 易用性(可视化) ...

  5. 获取mybatis注解方式新增数据时非自增插入的主键

    场景:插入数据的时候,获取不到非自增的主键.原因:对象中没有主键的值,插入后主键才有值. 解决方案:使用 @SelectKey @SelectKey中: statement是要运行的SQL语句,即查询 ...

  6. 聊聊Netty那些事儿之从内核角度看IO模型

    从今天开始我们来聊聊Netty的那些事儿,我们都知道Netty是一个高性能异步事件驱动的网络框架. 它的设计异常优雅简洁,扩展性高,稳定性强.拥有非常详细完整的用户文档. 同时内置了很多非常有用的模块 ...

  7. SpringBoot启动代码和自动装配源码分析

    ​ 随着互联网的快速发展,各种组件层出不穷,需要框架集成的组件越来越多.每一种组件与Spring容器整合需要实现相关代码.SpringMVC框架配置由于太过于繁琐和依赖XML文件:为了方便快速集成第三 ...

  8. freeswitch拨打分机号源代码跟踪

    概述 freeswitch是一款非常好用的开源VOIP软交换平台. 之前我们有介绍过使用fs拨打分机号的方法,其中代码流程是比较复杂的,所以单独开一章介绍. fs拨打分机号,是使用send_dtmf接 ...

  9. 微服务远程Debug,Nocalhost + Rainbond微服务开发第二弹

    之前的文章中我们介绍了如何通过 Nocalhost 快速开发 Rainbond 上的微服务,介绍了基本的开发流程. 本文将续接上文继续介绍,使用 Nocalhost 开发配置文件 实现以下内容: 一键 ...

  10. 在矩池云使用Disco Diffusion生成AI艺术图

    在 Disco Diffusion 官方说明的第一段,其对自身是这样定义: AI Image generating technique called CLIP-Guided Diffusion.DD ...