Windows下ESP8266_RTOS_SDK的编译环境搭建和VSCode配置使用说明(C语言)

一、Windows下ESP8266_RTOS_SDK的编译环境搭建

1.1 所需文件的准备

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:\ESP8266\ESP8266_RTOS_SDK文件夹。

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

D:\ESP8266\msys32

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

解压后,打开D:\ESP8266\msys32\etc\profile.d\esp32_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:\ESP8266\ESP8266_RTOS_SDK\examples\get-started\hello_world,把他拷贝到我们自己的工程文件夹下E:\ESPprojects\hello_world,开始编译测试。

首先,打开D:\ESP8266\msys32\mingw32.exe,进入shell界面,如下图
在这里插入图片描述
通过cd命令,切换到hello_world所在工程目录:

cd /e/ESPprojects/hello_world

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

  1. 配置工程命令:make menuconfig

执行命令后会进入如下图所示的配置页面
在这里插入图片描述
我们需要进行如下配置:
进入SDK tool configuration选项,把第一行修改为D:\ESP8266\msys32\opt\xtensa-lx106-elf\bin\xtensa-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:\ESP8266\ESP8266_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”目录,方便使用。

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值