【物联网】 ESP8266 Ubuntu开发环境的搭建

时间:2022-11-29 22:23:21

我们知道在linux下进行嵌入式开发,都需要先搭建一套与芯片对应的交叉编译环境,ESP8266也一样。


ESP8266内置Tensilica L106,32位MCU,具有超低功耗的16位RSIC。CPU时钟速度为80MHZ,最高可达160MHZ,并支持实时RTOS操作系统。ESP8266交叉编译器为xtensa-lx106-elf,官方有提供编译完成的可执行版本,也可通过crosstool-ng自行编译。

官方版下载地址:百度云盘:https://pan.baidu.com/s/1dEOw8bZ 下载密码:v81b


同时官方提供的完整的Linux开发环境,是基于虚拟机VirtualBox的Lubuntu镜像,可通过如下途径获取:

VirtualBox:https://www.virtualbox.org/wiki/Downloads

Lubuntu镜像:百度云盘:https://pan.baidu.com/s/1dEOw8bZ 下载密码:v81b

不过如果你已经安装了Ubuntu或者其他版本的Linux系统,再搞一个Linux系统来开发ESP8266就显得浪费硬盘空间了。今天我们要说的就是是自己动手在ubuntu下搭建一套自己的交叉编译环境。


一、交叉编译器的下载

1.官方版下载:xtensa-lx106-elf.bz2(百度网盘)
在windows下载完成后再复制至Ubuntu下,使用sudo tar jxvf xtensa-lx106-elf.bz2 -C /opt 解压至/opt目录

【物联网】 ESP8266 Ubuntu开发环境的搭建


2. 修改xtensa-lx106-elf目录权限:这一步非常重要,否则在后续编译中很容易出现没有权限问题

sudo chmod 777 /opt/xtensa-lx106-elf

【物联网】 ESP8266 Ubuntu开发环境的搭建


二、环境变量的设置

1.我习惯编编辑etc/environment,输入:sudo vim /etc/environment,按照格式要求输入“:/opt/xtensa-lx106-elf/bin”,保存并退出。

【物联网】 ESP8266 Ubuntu开发环境的搭建


2.要使当前编译的环境变量生效,执行source /etc/environment,这样在当前命令行终端下该编辑的环境变量有效,换个命令行终端就无效了!当然更测试的方式就是重启系统了!!!


3.执行echo $PATH,查看当前环境变量,是否已经存在/opt/xtensa-lx106-elf/bin。


4.在命令行终端执行xtensa-lx106-elf-gcc -v,如可看到版本号,表示当前交叉编译器安装成功。可以看到我们使用的gcc版本为 4.8.2

【物联网】 ESP8266 Ubuntu开发环境的搭建

三、 问题解决

如果出现文件或者目录找不到

原因是没有32位的运行库;

【物联网】 ESP8266 Ubuntu开发环境的搭建

解决办法:

sudo apt-get install libc6:i386 libgcc1:i386 libstdc++5:i386 libstdc++6:i386