此时版本 Toolchain version: esp-2020r3-49-gd5524c1
ESP8266_RTOS_SDK version: v3.4-43-gd11de779-dirty
参考:
Get Started — ESP8266 RTOS SDK Programming Guide documentation
一、windows 安装 Linux 系统
下载安装VM 虚拟机
下载ubuntu桌面版 :Enterprise Open Source and Linux | Ubuntu
重要的一步,VM安装 ubuntu步骤请参考如下教程:https://jingyan.baidu.com/article/f96699bb147a73894e3c1b2e.html
打开ubuntu终端输入以下命令 安装几个常用的软件 :
sudo apt-get purge vim-common
sudo apt-get install vim
sudo apt install git
二、搭建编译环境;
Linux 工具链的标准设置
要使用 ESP8266_RTOS_SDK 进行编译,您需要获得以下软件包:
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python3 python3-serial
由于 ubuntu 每个版本默认安装的 python 的版本不一样,在终端中输入命令 python --version 查看,根据实际情况修改。
在home文件下创建文件夹esp
ESP8266 Linux 工具链可从乐鑫网站下载:
对于 64 位 Linux:https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz
对于 32 位 Linux:https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-i686.tar.gz
下载此文件到 esp 文件中,打开终端输入命令 ,然后将其解压到 esp
目录中: 不管通过什么方式下载,一定要将压缩包放到在 esp 文件中解压
tar -xzf ~/Downloads/xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
修改其权限为777: sudo chmod 777 -R xtensa-lx106-elf
获取 ESP8266_RTOS_SDK
在 esp 文件下打开终端,然后使用以下命令克隆存储库:
git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git
(一定在Ubuntu下载SDK)由于网络问题可能比较慢,当出现一下红线错误时,等到下载完成后,到ESP8266_RTOS_SDK目录下打开终端输入 git submodule update 重新拉取子模块中的代码。
安装所需的 Python 包
由于ESP8266 默认环境搭建需要系统默认版本为python2,可能 ubuntu默认不同,所以要更新python版本,并且设置Python3为默认版本。
sudo mv /usr/bin/python /usr/bin/python.bak 备份原python
sudo ln -s /usr/bin/python3 /usr/bin/python 将python3链接到Python
更新python3 的 pip
sudo apt-get install python3-pip
或者
先删除 /usr/bin/python文件
sudo mv /usr/bin/python
再链接 Python2/python3 到 python
//切换到 python2
sudo ln -s /usr/bin/python2 /usr/bin/python
//切换到 python3
sudo ln -s /usr/bin/python3 /usr/bin/python
由于 ubuntu 每个版本默认安装的 python 的版本不一样,在终端中输入命令 python --version 查看,根据实际情况修改。
ESP8266_RTOS_SDK 所需的 Python 包位于该$IDF_PATH/requirements.txt
文件中。您可以通过在终端中运行来安装它们:
python3 -m pip install --user -r $IDF_PATH/requirements.txt
当出现以上提示 /usr/bin/python3: No module named pip错误时,则需要打开终端安装python-pip. 然后再运行python3 -m pip install --user -r $IDF_PATH/requirements.txt。
sudo apt install python3-pip
apt-cache search python3-pip
sudo apt install python3-pip
设置环境变量
就设置2个变量即可!先拿到上述的工具链路径和SDK路径! 以我的环境为例:
export PATH=$PATH:/home/esp8266/esp/xtensa-lx106-elf/bin
export IDF_PATH=/home/esp8266/esp/ESP8266_RTOS_SDK
之后按下 i 表示嵌入代码: vim ~/.bashrc
任意一处添加 表示嵌入上面代码!
按下esc 再 :wq 表示写入保存: source ~/.bashrc
工具链环境测试是否设置成功: xtensa-lx106-elf-gcc -v
IDF_PATH 路径测试是否设置成功: echo $IDF_PATH
三、编译代码;
进入/home/esp8266/esp/ESP8266_RTOS_SDK/examples文件 任意一个例子,然后 打开终端 输入 make menuconfig 进行置。
通过CPU多核 make all -j8
快速编译成功之后,会有如下提示!可以看到有指定的串口下载等信息
四、烧录和串口打印;
在Linux环境烧录我们的ESP8266模块开发板,主要注意这个串口读取的权限问题!插进我们的开发板之后,会有提示,如果没有提示,查看 虚拟机 -- 可移动设备 --点击对应的串口! 在运行make命令之前输入 命令 sudo chmod -R 777 /dev/ttyUSB0。
- 串口烧录:
make flash
- 串口信息监听:
make monitor