其实,官方文档写得很清楚,此文只是简单记录一下安装过程
官方文档:ESP8266_RTOS_SDK (IDF Style) Programming Guide
当然,进行 ESP8266 开发前,我们需要做好如下准备工作:
首先,需要一台电脑(废话),乐鑫的开发环境的兼容性做得很不错的,Linux、MacOS 或 Windows 都可以轻松搭建 ESP8266 的开发环境;
其次,系统需要一个编译工具链(编译环境)来编译可运行于 ESP8266 上的应用程序;
再次,需要乐鑫官方提供的 SDK (ESP8266_RTOS_SDK) 来编译,还需要一个编辑器(vscode、eclipse等)来编写程序;
最后,需要一块 ESP8266 开发板(还是废话)连上电脑从而下载运行程序
显然,搭建 ESP8266 开发环境,两步走即可:
- 配置编译环境(windows);
- 下载 SDK (ESP8266_RTOS_SDK);
配置编译环境(windows)
由于 windows 并无内置 make 编译环境,因此我们需要一个 GNU 兼容环境来安装编译工具链,乐鑫建议采用 MSYS2 来提供这个 GNU 兼容环境
windows下,乐鑫已为我们将工具链和 MSYS2 封装好了,此处直接下载 all-in-one 编译环境即可
all-in-one 编译环境:esp32_win32_msys2_environment_and_toolchain-20181001.zip
下载完成后,解压到相应位置即可
双击 mingw32.exe 或 mingw64.exe 运行验证一下(和命令行一样的操作)
下载 SDK (ESP8266_RTOS_SDK)
接下来,你需要使用 Git 来下载 SDK
# 创建并切换文件夹(名字随便)
mkdir -p ~/esp
cd ~/esp
# 下载 SDK
git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git
效果如下,当然可能下载的很慢,你可以选择等待或问问度娘如何加速 GitHub 下载……
然后,需要设置一下 SDK 路径(其实就是定义一个 IDF_PATH 变量)
由于 MSYS2 的操作类似 Linux,这里的操作也和 Linux 一样,当然既然在 windows 下,我们还是用 windows 的方式好了
- 打开 ...\msys32\home\shany\bash.rc;
- 在 bash.rc 文件末尾添加一行,保存后关闭即可;
export IDF_PATH="$HOME/esp/ESP8266_RTOS_SDK"
验证一下,IDF_PATH 变量定义是否生效
由于 ESP8266 的编译和下载基于 Python 实现,还需要安装一些必要的 Python 软件包(乐鑫已为我们提供了软件包清单)
python -m pip install --user -r $IDF_PATH/requirements.txt
啊哦,事实证明,乐鑫并没有为 MINGW64 安装 Python ……
不过不要担心,切换到 MINGW32(双击 mingw32.exe 运行)即可
好了,终于可以开始编译 ESP8266 工程代码了
编译 ESP8266 的 hello_world
为了不破坏官方 SDK 的结构,我们将 hello_world 工程拷贝出来编译
cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
是时候连上我们的 ESP8266 开发板了(注意一下串口号)……然后,还需要配置一些参数
cd ~/esp/hello_world
make menuconfig
打开配置页面,其实就是定义一些变量,这里注意三点即可
- 配置串口为实际使用的串口号(如 COM3),配置板载 Flash 为实际使用的大小(如 NodeMCU 开发板为 4MB);
- 配置相应的分区表,其实就是定义固件的下载地址;
- 配置串口波特率为正常一点的数值(如 9600 或 115200),毕竟默认的 74480 并不是所有的串口设备或上位机都支持的;
配置串口号和板载 Flash 大小,注意 Flash SPI mode 最好选 DIO,不然会出现一些奇怪的现象
Tips:按照以上配置(QIO)编译下载后,出现如下错误提示,改为 DIO 后正常
配置分区表
配置波特率为 115200(Component config → Common ESP-related)
保存配置后,编译、下载、运行,此处不再赘述
额,好吧,打脸来得猝不及防……看来这个 all-in-one 环境,乐鑫并不是专门为 ESP8266 准备的啊,果然是为 ESP32 准备的没跑了(毕竟 ESP32 更贵更强啊)
揉一揉火辣辣的脸,先下载 ESP8266 编译工具链:xtensa-lx106-elf-gcc8_4_0-esp-2020r3-win32.zip
一家人就要整整齐齐,所以和 ESP32 编译工具链解压到一起吧
添加到 PATH 变量即可
- 打开 ...\msys32\home\shany\bash.rc;
- 在 bash.rc 文件末尾添加一行,保存后关闭即可;
export PATH="$PATH:/opt/xtensa-lx106-elf/bin"
编译下载运行,一行指令就能轻松搞定
make flash monitor
大功告成,运行效果如下