Ubuntu 下搭建 ESP8266_NONOS_SDK 编译环境指南

此篇指南用来描述如何在 Ubuntu 下成功搭建 ESP8266_NONOS_SDK 编译环境。具体说明可参见 《ESP8266-NONOS-SDK 入门指南》

此指南分为三部分:

  • 环境配置步骤
  • 补充说明
  • 注意事项

1 环境配置步骤

请注意,此次环境配置需要使用 python v2.7 的环境。

1.1 克隆 SDK

git clone https://github.com/espressif/ESP8266_NONOS_SDK.git
git submodule update -f --init --recursive

1.2 设置 SDK 环境变量

export SDK_PATH=~/esp/esp8266-nonos-sdk/ESP8266_NONOS_SDK

1.3 获取工具链

在这里插入图片描述

使用旧版本的SDK(< 3.0),请使用工具链v4.8.5,如下所示:

Linux(64)

Linux(32)

1.4 设置 ESP8266-NONOS-SDK 工具链路径

export PATH="$HOME/esp/esp8266-nonos-sdk/opt-8266-nonos/xtensa-lx106-elf/bin:$PATH"

1.5 编译工程

~/esp/esp8266-nonos-sdk/ESP8266_NONOS_SDK

此路径下才可以编译对应的工程

例如要编译 ESP8266_NONOS_SDK/examples/IoT_Demo 例程,则将 IoT_Demo 文件拷贝到 ESP8266_NONOS_SDK 目录下

然后进入到 ESP8266_NONOS_SDK/IoT_Demo 目录下

cd	/home/esp8266/Share/ESP8266_NONOS_SDK/IoT_Demo

执行如下 命令即可编译:

./gen_misc.sh

若需要编译 ESP8266_NONOS_SDK/third_party 下的例程,则进入 ESP8266_NONOS_SDK/third_party 目录下,执行如下命令进行编译:**

例如要编译 ESP8266_NONOS_SDK/third_party/lwip

cd ESP8266_NONOS_SDK/third_party
./make_lib.sh lwip

2 补充说明

  • 下面介绍切换 python 版本的指令:
  1. 查看 Python 环境
sudo update-alternatives --config python
  1. 设置 python 优先级
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 21
  1. 切换 Python 版本:
alias python=python2.7 
  1. 查询 Python 版本
python --version
  1. 若出现权限问题,请执行如下命令:
sudo chmod 777 gen_misc.sh
  1. 若在配置编译选项时出现如下报错:
STEP 2: choose bin generate(0=eagle.flash.bin+eagle.irom0text.bin, 1=user1.bin, 2=user2.bin)
enter (0/1/2, default 0):
0
ignore boot
generate bin: eagle.flash.bin+eagle.irom0text.bin
spi speed: 40 MHz
spi mode: QIO
spi size: 2048KB
spi ota map:  1024KB + 1024KB

start...

make[1]: 进入目录“/home/caiguanhong/esp/esp8266-nonos-sdk/ESP8266_NONOS_SDK/IoT_Demo/user”
make[1]: *** 没有规则可制作目标“/opt/xtensa-lx106-elf-64/xtensa-lx106-elf/include/stdlib.h”,由“.output/eagle/debug/obj/user_httpserver.o” 需求。 停止。
make[1]: 离开目录“/home/caiguanhong/esp/esp8266-nonos-sdk/ESP8266_NONOS_SDK/IoT_Demo/user”
../Makefile:333: recipe for target '.subdirs' failed
make: *** [.subdirs] Error 2

可执行,

make clean

然后根据提示:

make -C user clean;  make -C driver clean;
make[1]: 进入目录“/home/caiguanhong/esp/esp8266-nonos-sdk/ESP8266_NONOS_SDK/IoT_Demo/user”
rm -f -r .output/eagle/debug
make[1]: 离开目录“/home/caiguanhong/esp/esp8266-nonos-sdk/ESP8266_NONOS_SDK/IoT_Demo/user”
make[1]: 进入目录“/home/caiguanhong/esp/esp8266-nonos-sdk/ESP8266_NONOS_SDK/IoT_Demo/driver”
rm -f -r .output/eagle/debug
make[1]: 离开目录“/home/caiguanhong/esp/esp8266-nonos-sdk/ESP8266_NONOS_SDK/IoT_Demo/driver”
rm -f -r .output/eagle/debug

执行

make -C user clean 
make -C driver clean

再进入到
IoT_Demo/driver 目录下,
执行

rm -f -r .output/eagle/debug

3 注意事项

  • 在编译选项中选择的配置选项,应与您下载的 bin 保持一致。
    在这里插入图片描述
  • 请参考如下的配置来下载对应的 bin ,请根据实际的 Flash 大小选择。

① Flash size 8Mbit: 512KB+512KB

    boot_v1.2+.bin              0x00000
    user1.1024.new.2.bin        0x01000
    esp_init_data_default.bin   0xfc000
    blank.bin                   0x7e000 & 0xfe000 (两个地址都需要下载 blank.bin)

② Flash size 16Mbit-C1: 1024KB+1024KB

	boot_v1.2+.bin              0x00000
	user1.2048.new.5.bin        0x01000
	esp_init_data_default.bin   0x1fc000
	blank.bin                   0xfe000 & 0x1fe000 (两个地址都需要下载 blank.bin)

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值