esp8266开发环境搭建
买了一块esp8266物联网开发板,笔者准备使用一周的时间来玩一玩,这个物联网模块。
某宝上就能购买,其给的学习sdk是ESP8266_NONOS_SDK-3.0,我觉得没有任何意义,直接不用,准备自己从其官网下载带系统rtos的sdk学习,并且移植到开发板中。笔者使用的sdk软件为:ESP8266_RTOS_SDK-3.2,有此需求的自行去其官方网站下载。
一.编译环境搭建
玩一个模块,首先需要按照其交叉编译工具链,下面介绍下,如何在ubuntu系统中搭建esp8266交叉编译工具。
首先下载编译工具链:xtensa-lx106-elf.tar.bz2
下载地址:
v5.2.0
* [Windows](https://dl.espressif.com/dl/xtensa-lx106-elf-win32-1.22.0-92-g8facf4c-5.2.0.tar.gz)
* [Mac](https://dl.espressif.com/dl/xtensa-lx106-elf-osx-1.22.0-92-g8facf4c-5.2.0.tar.gz)
* [Linux(64)](https://dl.espressif.com/dl/xtensa-lx106-elf-linux64-1.22.0-92-g8facf4c-5.2.0.tar.gz)
* [Linux(32)](https://dl.espressif.com/dl/xtensa-lx106-elf-linux32-1.22.0-92-g8facf4c-5.2.0.tar.gz)
If you are still using old version SDK(< 3.0), please use toolchain v4.8.5, as following:
* [Windows](https://dl.espressif.com/dl/xtensa-lx106-elf-win32-1.22.0-88-gde0bdc1-4.8.5.tar.gz)
* [Mac](https://dl.espressif.com/dl/xtensa-lx106-elf-osx-1.22.0-88-gde0bdc1-4.8.5.tar.gz)
* [Linux(64)](https://dl.espressif.com/dl/xtensa-lx106-elf-linux64-1.22.0-88-gde0bdc1-4.8.5.tar.gz)
* [Linux(32)](https://dl.espressif.com/dl/xtensa-lx106-elf-linux32-1.22.0-88-gde0bdc1-4.8.5.tar.gz)
将上面工具解压到某个目录,只需将其bin目录添加到环境变量即可。
请在家目录.profile中添加下文最后一句。
cdb@localhost:~/ESP8266_RTOS_SDK-3.2$ cat ../.profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
export PATH=/home/cdb/xtensa-lx106-elf/bin:$PATH
保存,重启配置
source ./.profile
验证:
能正确打印其版本号,说明交叉编译链安装成功。
依赖软件:
#建议逐一安装
sudo apt-get install git autoconf build-essential gperf bison flex texinfo libtool libncurses5-dev wget gawk libc6-dev-amd64 python-serial libexpat-dev
执行结果:
系统没有安装,libc6-dev-amd64及相关依赖文件,后面编译肯定报错。
直接安装:失败,且报错
问题是依赖文件版本,与其所需软件版本不对应造成的,使用12.04搭建多次,失败了,猜测版本太老,许多依赖软件版本太低造成。更换14.04 ubuntu从新配置,成功了。同样,遇到一些软件安装依赖造成的问题,我们可以去官网下载软件包手动安装。
注意:相关下载地址 https://launchpad.net/ubuntu/+source/eglibc
二.编译sdk测试程序
使用下面路径测试开发环境搭建情况。
设置下sdk路径:
注意路径:文件路径是自己文件的路径
export IDF_PATH=/home/yangfan/tool/ESP8266_RTOS_SDK-3.1.1
export SDK_PATH=/home/yangfan/tool/ESP8266_RTOS_SDK-3.1.1
export BIN_PATH=/home/yangfan/tool/ESP8266_RTOS_SDK-3.1.1/bin
上面export建议添加到用户的.profile文件中,避免每次打开终端都要重新设置。
make menuconfig
配置一些基本参数后,生成配置文件。
make
编译成功
至此,esp8266编译环境搭建ok了。
注意,本文使用不同的esp8266 sdk包了,分别为ESP8266_RTOS_SDK-3.1.1或者ESP8266_RTOS_SDK-3.2,都是大于3.0的版本,对编译链没有影响,ubuntu系统也从12.04,最终换成14.04版本,12.04搞了很长时间,实在没办法了。
补充下,使用ubuntu18.04版本按上面流程搭建编译环境过程就很顺畅,亲测,推荐使用。