ESP8266 Linux开发环境搭建

时间:2021-04-08 22:19:59

ESP8266的Windows开发环境编译程序实在是太慢了,应该Linux速度还不错,至少我是这么认为的,于是在Ubuntu15.4 x64下尝试搭建其开发环境。
开发环境的搭建参考wiki


安装必需库

sudo apt-get install git autoconf gperf bison flex texinfo gawk libtool libncurses5-dev expat

ubuntu默认安装的libtool好像太低,为了确保版本高于1.5.26。所以最好对libtool进行升级。
1. wget ftp://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.xz
2. tar -xvf libtool-2.4.6.tar.xz
3. cd libtool-2.4.6
4. ./configure && sudo make install


下载交叉编译工具

git clone -b lx106 git://github.com/jcmvbkbc/crosstool-NG.git

http://crosstool-ng.org/download/crosstool-ng/


编译交叉编译工具

cd crosstool-NG/
./bootstrap && ./configure –prefix=`pwd` && make && make install


生成配置文件

./ct-ng xtensa-lx106-elf


编译目标文件

./ct-ng build
最后gdb编译不成功,说是expat missing,调试一般用不到,就不管了,因为已经安装过expat还是不行,就算了,反正gdb对于我来讲基本上是用不到的。
生成的目标文件位于当前目录build。


设置环境变量

编译好后,还需要将xtensa-lx106-elf加入环境变量。
cd ~
gedit .bashrc
在文件最后添加
XCC=/tmps/crosstool-NG/builds/xtensa-lx106-elf
export PATH=$XCC/bin: $ PATH
保存退出


添加ESP8266库及头文件

编译ESP8266必须添加以下库文件,不然就会报找不到相应库(如: xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: cannot find -lhal)
wget https://github.com/esp8266/esp8266-wiki/raw/master/libs/libc.a
wget https://github.com/esp8266/esp8266-wiki/raw/master/libs/libhal.a
wget https://github.com/esp8266/esp8266-wiki/raw/master/include.tgz
mv libc.a libhal.a $XCC/xtensa-lx106-elf/sysroot/lib/
tar -xvf include.tgz
mv include/* $XCC/include


安装Linux下载工具

wget https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz#md5=794506184df83ef2290de0d18803dd11
tar -xvf pyserial-2.7.tar.gz
cd pyserial-2.7/
sudo python setup.py install

wget https://github.com/themadinventor/esptool/blob/master/esptool.py
sudo mv esptool.py /usr/bin


下载SDK

  1. git clone https://github.com/espressif/esp_iot_rtos_sdk
  2. git clone https://github.com/espressif/esp8266_iot_platform
  3. git clone https://github.com/espressif/esp8266_at
  4. git clone https://github.com/nodemcu/nodemcu-firmware