该系列博文是因为制作毕业设计时使用到了ESP8266,然后发现了8266巨大的魅力,然后博客是为了记录这一路的学习和笔记,一路参考了很多这方面的大佬的博客,学习到很多,推荐一位大佬徐哥,入坑8266就是看了他的博客,学到了很多很多。
本文使用的Linux环境是Ubuntu 16.04;
1. 获取交叉工具链
首先下载对应的交叉编译工具链,将其保存到事先创建好的文件夹中 /ESP-Work 。
2. 安装软件包
sudo apt-get install git wget libncurses-dev flex bison gperf python python-click python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache libffi-dev libssl-dev
3. 解压交叉工具链压缩包
tar -xzf xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
4. 配置环境变量
进入xtensa-lx106-elf下的bin目录,可以看到
将当前路径写入到**~/.bashrc**中去
#ESP_8266
export ESP_8266=/home/bbigq/ESP-Work/xtensa-lx106-elf/bin
export PATH=$PATH:$ESP_8266
5. 检测是否安装成功
运行
xtensa-lx106-elf-gcc -v
出现如下提示即安装成功
Using built-in specs.
COLLECT_GCC=xtensa-lx106-elf-gcc
COLLECT_LTO_WRAPPER=/home/bbigq/ESP-Work/xtensa-lx106-elf/bin/../libexec/gcc/xtensa-lx106-elf/5.2.0/lto-wrapper
Target: xtensa-lx106-elf
Configured with: /builds/idf/crosstool-NG/.build/src/gcc-5.2.0/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=xtensa-lx106-elf --prefix=/builds/idf/crosstool-NG/builds/xtensa-lx106-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/xtensa-lx106-elf/xtensa-lx106-elf/sysroot --with-sysroot=/builds/idf/crosstool-NG/builds/xtensa-lx106-elf/xtensa-lx106-elf/sysroot --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG crosstool-ng-1.22.0-100-ge567ec7' --disable-__cxa_atexit --enable-cxx-flags='-fno-exceptions -fno-rtti' --with-gmp=/builds/idf/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-mpfr=/builds/idf/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-mpc=/builds/idf/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-isl=/builds/idf/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-cloog=/builds/idf/crosstool-NG/.build/xtensa-lx106-elf/buildtools --with-libelf=/builds/idf/crosstool-NG/.build/xtensa-lx106-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-libgomp --disable-libmudflap --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-nls --disable-multilib --enable-languages=c,c++
Thread model: single
gcc version 5.2.0 (crosstool-NG crosstool-ng-1.22.0-100-ge567ec7)
可见我的gcc版本是5.2.0
6. 获取ESP8266_RTOS_SDK
我习惯将一个系列的工程放在同一个文件夹下,所以在*/ESP-Work*文件夹下进行获取
git clone https://github.com/espressif/ESP8266_RTOS_SDK.git
6.1 将ESP8266_RTOS_SDK的工程链接添加到环境变量
export ESP_8266_IDF=/home/bbigq/ESP-Work/ESP8266_RTOS_SDK
export IDF_PATH=$ESP_8266_IDF
6.2 根据官方文档去检验是否已经成功搭建环境
进到克隆下来的文件目录下
cd /ESP8266_RTOS_SDK/examples/get-started/hello_world
make menuconfig
如果没有问题的话,会出现一个蓝色的框框,如本文后图;
在我系统的操作下,有提示一下问题
......
make[1]: Leaving directory '/home/bbigq/ESP-Work/ESP8266_RTOS_SDK/tools/kconfig'
The following Python requirements are not satisfied:
cryptography>=2.1.4
Please refer to the Get Started section of the ESP-IDF Programming Guide for setting up the required packages.
Alternatively, you can run "/usr/bin/python -m pip install --user -r /home/bbigq/ESP-Work/ESP8266_RTOS_SDK/requirements.txt" for resolving the issue.
make: *** No rule to make target 'check_python_dependencies', needed by 'menuconfig'. Stop.
英语是弱项哈,但是不难看出应该是python版本不适用,还提供了解决方案
Alternatively, you can run "/usr/bin/python -m pip install --user -r /home/bbigq/ESP-Work/ESP8266_RTOS_SDK/requirements.txt" for resolving the issue.
运行提示中的命令试试:
/usr/bin/python -m pip install --user -r /home/bbigq/ESP-Work/ESP8266_RTOS_SDK/requirements.txt
是个漫长的过程,不用着急,完了之后再运行一下。
make menuconfig
成功了!
搭建环境总会遇到各种各样的问题,可能会在不同的电脑,相同的系统安装都会出现不一样的问题,但是很多情况都是因为一些依赖库没安装好或者某些库的版本不匹配等等,去分析失败的错误,总能找到解决的办法