Ubuntu ESP8266固件环境搭建

 

    重要网址
    https://www.cnblogs.com/mmmmar/p/6370549.html

    http://blog.odonnell.nu/

 

    1、安装依赖工具和相关库
    sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf flex bison texinfo gawk ncurses-dev     libexpat-dev python-dev python python-serial sed git unzip bash help2man wget bzip2
    备注Ubuntu16.04下安装的是

    sudo apt-get install gperf bison flex help2man libncurses5-dev make autoconf texinfo libtool libtool-bin g++     python unzip python-serial git screen make

 

    2、使用git将项目克隆到本地,保存为esp-open-sdk

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

 

    3、进入esp-open-sdk文件夹,并且编译
    cd ~/esp-open-sdk
    make STANDALONE=y 或make

 

    4、将交叉编译器目录添加至环境变量
    gedit ~/.bashrc
    在文件最后添加export PATH=/home/jzhang/esp-open-sdk/xtensa-lx106-elf/bin:$PATH

 

    5、使用git将micropython克隆到本地,保存为micropython, 并且进入文件夹下载子模块
    git clone https://github.com/micropython/micropython.git
    cd micropython
    git submodule update --init

 

    6、编译生成固件
    进入micropython目录下,执行make -C mpy-cross
    进入tools目录下,执行chmod +x make-frozen.py
    进入ports/esp8266目录下执行make axtls 和 make
    

    如果make出错为:
In file included from ./esp_mphal.h:73:0,
                 from ../../py/mphal.h:32,
                 from ../../py/mpprint.c:33:
./etshal.h:9:6: error: conflicting types for 'ets_delay_us'
 void ets_delay_us(uint16_t us);
      ^
./etshal.h:9:1: note: an argument type that has a default promotion can't match an empty parameter name list declaration
 void ets_delay_us(uint16_t us);
 ^
In file included from ./esp_mphal.h:66:0,
                 from ../../py/mphal.h:32,
                 from ../../py/mpprint.c:33:
/home/jzhang/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/include/osapi.h:33:6: note: previous declaration of 'ets_delay_us' was here
 void ets_delay_us();
      ^
make: *** [build/py/mpprint.o] 错误 1
*/
则打开文件/home/jzhang/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/include/osapi.h,将void ets_delay_us();改为void ets_delay_us(uint16_t us);

此外:将/home/jzhang/esp-open-sdk/ESP8266_NONOS_SDK-2.1.0-18-g61248df/lib/libgcc.a 复制到
/home/jzhang/esp-open-sdk/xtensa-lx106-elf/lib/gcc/xtensa-lx106-elf/4.8.5目录下

    

最后make结果为:
LINK build/firmware.elf
   text    data     bss     dec     hex filename
 575992    1092   64424  641508   9c9e4 build/firmware.elf
Create build/firmware-combined.bin
esptool.py v1.2
('flash    ', 35504)
('padding  ', 1360)
('irom0text', 541620)
('total    ', 578484)
('md5      ', '00980a323b527e9dea96ccf4abcfd26f')

在当前目录的build目录下就可找到生成的固件firmware-combined.bin

 

至此Ubuntu12.04 ESP8266固件环境搭建成功,生成了可以下载的固件。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值