linux nodemcu 编译,ubuntu 16.04(x64)构建NodeMCU编译工具链

最近在捣鼓NodeMCU,中间各种折腾,下面记录一下编译工具链的过程。

官方推荐的操作过程如下:

$ sudo mkdir /opt/Espressif

$ sudo chown `whoami` /opt/Espressif/

$ cd /opt/Espressif

$ sudo apt-get install git autoconf build-essential gperf bison flex texinfo libtool libncurses5-dev wget gawk libc6-dev-amd64 python-serial libexpat-dev

$ sudo apt install help2man

$ sudo apt-get install libtool-bin

$ git clone --recursive https://github.com/pfalcon/esp-open-sdk.git

$ cd esp-open-sdk

$ make STANDALONE=y

$ export PATH=$PWD/xtensa-lx106-elf/bin:$PATH

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

$sudomkdir/opt/Espressif

$sudochown`whoami`/opt/Espressif/

$cd/opt/Espressif

$sudoapt-getinstallgitautoconfbuild-essentialgperfbisonflextexinfolibtoollibncurses5-devwgetgawklibc6-dev-amd64python-seriallibexpat-dev

$sudoaptinstallhelp2man

$sudoapt-getinstalllibtool-bin

$gitclone--recursivehttps://github.com/pfalcon/esp-open-sdk.git

$cdesp-open-sdk

$makeSTANDALONE=y

$exportPATH=$PWD/xtensa-lx106-elf/bin:$PATH

上面操作中最慢的依旧是下载依赖的工具链的源代码部分,可以从本站下载一份已经下载完全部依赖项目的编译环境。点击此处下载

本站下载的文件,直接执行make命令即可,不要执行make clean,make clean会删除ESP8266_NONOS_SDK文件夹,导致编译不通过。这种情况,可以还原Makefile,再次去服务器上拉取文件即可。

编译完成后,注意以下几个路径

esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/include/为头文件的所在目录

esp-open-sdk/xtensa-lx106-elf/bin为工具链所在目录

esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/lib为链接库目录

上面的几个路径在编译源代码的时候会用到。

以下的操作过程可以通过,但是已经过时,在实际编译新项目的时候,可能会出现异常,已经不推荐了。

$ sudo apt-get install git autoconf build-essential gperf bison flex texinfo libtool libncurses5-dev wget gawk libc6-dev-amd64 python-serial libexpat-dev

$ sudo apt-get install libtool-bin

$ sudo mkdir /opt/Espressif

$ sudo chown `whoami` /opt/Espressif/

$ cd /opt/Espressif

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

$ cd crosstool-NG

$ ./bootstrap && ./configure --prefix=`pwd` && make && make install

$ ./ct-ng xtensa-lx106-elf

$ ./ct-ng build

$ PATH=$PWD/builds/xtensa-lx106-elf/bin:$PATH

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

$sudoapt-getinstallgitautoconfbuild-essentialgperfbisonflextexinfolibtoollibncurses5-devwgetgawklibc6-dev-amd64python-seriallibexpat-dev

$sudoapt-getinstalllibtool-bin

$sudomkdir/opt/Espressif

$sudochown`whoami`/opt/Espressif/

$cd/opt/Espressif

$gitclone-blx106git://github.com/jcmvbkbc/crosstool-NG.git

$cdcrosstool-NG

$./bootstrap&&./configure--prefix=`pwd`&&make&&makeinstall

$./ct-ngxtensa-lx106-elf

$./ct-ngbuild

$PATH=$PWD/builds/xtensa-lx106-elf/bin:$PATH

对于上面的命令执行过程中,往往卡住在ct-ng build这个位置,观察目录下的build.log会发现总是卡住在文件下载的位置,大量的链接无法正确下载,都是国情导致的。

如果出现下载问题,一般建议从本站下载一份已经下载好的文件,当然,也可以手工从其他镜像站点逐个手工下载依赖的源代码压缩包。

参考操作如下:

$ cd /opt/Espressif/crosstool-NG

$ mkdir .build

$ cd .build

$ wget https://www.mobibrw.com/wp-content/uploads/2018/08/tarballs.zip

$ unzip tarballs.zip

$ rm -rf tarballs.zip

1

2

3

4

5

6

7

8

9

10

11

$cd/opt/Espressif/crosstool-NG

$mkdir.build

$cd.build

$wgethttps://www.mobibrw.com/wp-content/uploads/2018/08/tarballs.zip

$unziptarballs.zip

$rm-rftarballs.zip

然后重新执行ct-ng build命令即可。

如果上面的代码下载存在问题,可以从本站下载一份拷贝,点击下载crosstool-NG

已经编译好的工具链,可以从本站下载,点击这里下载 xtensa-lx106-elf

参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值