栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Windows下ESP8266

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Windows下ESP8266

Windows下ESP8266_RTOS_SDK的编译环境搭建和VSCode配置使用说明(C语言)
  • 一、Windows下ESP8266_RTOS_SDK的编译环境搭建
    • 1.1 所需文件的准备
    • 1.2 解压安装
    • 1.3 测试
  • 二、在VSCode中集成开发
    • 1. 配置
    • 2. VSCode中工程编译

一、Windows下ESP8266_RTOS_SDK的编译环境搭建 1.1 所需文件的准备
  • 乐鑫官方Windows 多合一工具链:esp32_win32_msys2_environment_and_esp2020r2_toolchain-20200601.zip
  • MSYS2 压缩包文件:xtensa-lx106-elf-gcc8_4_0-esp-2020r3-win32.zip
  • ESP8266_RTOS_SDK:通过git工具下载,一定要递归下载,因为在components文件夹下存在5个外部git仓库需要下载:coap、json、lwip、mbedtls、mqtt。
git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git

由于国内网络限制,可能无法git到上面提到的5个组件,可以直接下载以下文件,是我已经完整git的压缩包。ESP8266_RTOS_SDK.zip

1.2 解压安装

首先,解压ESP8266_RTOS_SDK.zip到想要的安装目录,比如D:ESP8266,得到D:ESP8266ESP8266_RTOS_SDK文件夹。

然后,将esp32_win32_msys2_environment_and_esp2020r2_toolchain-20200601.zip压缩包中的msys32文件夹解压到自己想安装的位置,比如

D:ESP8266msys32

再将xtensa-lx106-elf-gcc8_4_0-esp-2020r3-win32.zip解压到D:ESP8266msys32opt,生成D:ESP8266msys32optxtensa-lx106-elf文件夹

解压后,打开D:ESP8266msys32etcprofile.desp32_toolchain.sh 脚本文件进行修改,添加 SDK 的路径。
原始配置是这样的:

export PATH="/opt/xtensa-esp32-elf/bin:$PATH"

我们需要修改为:

#export PATH="/opt/xtensa-esp32-elf/bin:$PATH"  加#注释掉原始的esp32的工具链路径

export PATH="$PATH:/opt/xtensa-lx106-elf/bin"  #上面解压生成的esp8266的工具栏路径
export IDF_PATH="D:/ESP8266/ESP8266_RTOS_SDK"   #上面解压生成的ESP8266_RTOS_SDK的路径

至此,编译环境的各项配置就完成了,可以使用了。通常情况,我们会创建一个专门用来存放工程文件的文件夹,以便于后续管理,这个文件夹放哪里都可以,没有限制,比如E:ESPprojects。

1.3 测试

为了验证上面的编译环境是否正常,我们以SDK默认提供的一个helloworld程序为例进行编译测试。这个helloworld工程原始路径在D:ESP8266ESP8266_RTOS_SDKexamplesget-startedhello_world,把他拷贝到我们自己的工程文件夹下E:ESPprojectshello_world,开始编译测试。

首先,打开D:ESP8266msys32mingw32.exe,进入shell界面,如下图

通过cd命令,切换到hello_world所在工程目录:

cd /e/ESPprojects/hello_world

然后通过make命令执行配置、编译、下载等操作。以下是常用的命令:

  1. 配置工程命令:make menuconfig

执行命令后会进入如下图所示的配置页面

我们需要进行如下配置:
进入SDK tool configuration选项,把第一行修改为D:ESP8266msys32optxtensa-lx106-elfbinxtensa-lx106-elf-,然后点保存,完成工程的工具链配置。

进入Serial flasher config选项,修改Flash size为4MB,点击保存;因为我用的ESP12F硬件搭配的是4MB的外部SPI存储芯片。

点击退出menuconfig,当出现如下字符时,配置完成,此时在当前工程目录下会生成一个build文件夹,里面是一些编译需要的文件。这时就可以进行下一步的编译了:

GENCONFIG
Project is not inside a git repository, or git repository has no commits
will not use 'git describe' to determine PROJECT_VER.
App "hello-world" version: 1

gf@GF-design MINGW32 /e/ESPprojects/hello_world
#
  1. 编译工程命令:make 或者make all
    编译完成后会在build文件夹里面生成hello_world.bin和.elf等二进制文件,用于下载到单片机运行。

  2. 编译并烧录固件命令:make flash
    这个指令可以直接编译和下载。

  3. 打开串口命令:make monitor

  4. 编译/烧录/打开串口命令:make flash monitor

二、在VSCode中集成开发 1. 配置

下载安装vscode后,点击“文件–open folder…”打开D:ESP8266ESP8266_RTOS_SDK,
然后点击vscode左下角的齿轮,点击“命令面板”,

输入setting,找到“首选项:打开工作区设置(JSON)”,点击后会出现一个vscode的settings.json文件,输入如下配置,将工具链shell嵌入到VSCode的集成终端中。

{
    "terminal.integrated.profiles.windows": {
        "esp8266shell": {
            "path": "D:\ESP8266\msys32\msys2_shell.cmd",
            "args": [
                "-defterm",
                "-mingw32",
                "-no-start",
                "-here"
            ]
        }
    },
    "terminal.integrated.defaultProfile.windows": "esp8266shell"

}
2. VSCode中工程编译

完成上述配置后,编译环境就搭建好了,但是此时的编辑器无法实现定义/实例调转、include自动补全等便于编程的功能,所以要安装“C/C++”扩展程序。安装好后,我们可以在当前ESP8266_RTOS_SDK工程中找到“example/get-started/hello_world”工程文件夹,打开hello_world_main.c文件,发现include失效,此时需要对C/C++的includepath进行修改,增加我们要用到的路径。

在c_cpp_properties.json文件的includePath配置项中添加以下路径:

        "D:/ESP8266/msys32/opt/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/8.4.0/include",
        "D:/ESP8266/msys32/opt/xtensa-lx106-elf/xtensa-lx106-elf/include",
        "${workspaceFolder}/components/freertos/port/esp8266/include",
        "${workspaceFolder}/components/spiffs/test_spiffs_host/sdkconfig",
        "${workspaceFolder}/components/esp8266/include"

右键点击,选择“在集成终端中打开”,即可向第一章节中一样使用shell命令执行编译和下载等操作了。

【!!注意!!】这里,为了免去一些繁琐的配置,建议在VSCode集成开发时,将工程目录放置在ESP8266_RTOS_SDK目录下,比如默认的“ESP8266_RTOS_SDK/example/get-started”目录,方便使用。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/958183.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号