esp8266 linux
2018-06-08 20:04:00 weixin_34281537 阅读数 5

一、前言:

Esp8266的windows开发环境编译程序比较慢,Linux编译相对windows快很多,所以选择在Ubuntu16.4 x64下搭建其开发环境。

二、下载交叉编译器

1.下载xtensa-lx106-elf.bz2
在命令行状态下输入:

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

下载完成后将该文件拷贝到opt目录下:

sudo mv xtensa-lx106-elf.bz2 /opt

修改xtensa-lx106-elf目录权限:

cd /opt
sudo chmod 777 xtensa-lx106-elf.bz2

三、修改环境变量:

sudo vim /etc/environment
打开该文件后将字符串“:/opt/xtensa-lx106-elf/bin”增加到/etc/environment文件末尾,就是编译器的绝对路径下面的bin目录,将它增加到PATH环境变量中:如下所示
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/xtensa-lx106-elf/bin:/snap/bin"
设置好后按:wq保存退出

四、下载esp8266_rtos_sdk

1.到乐鑫官网下载sp8266_rtos_sdk
2.官方SDK自带的示例程序位于ESP8266_RTOS_SDK->examples目录下
3.cd到“example”->“wifi_station_machine_demo”目录下
4.用vim 打开gen_misc.sh进行修改“SDK_PATH”及“BIN_PATH”为当前SDK所在目录(根据SDK所在的目录进行修改)
export SDK_PATH=~/ESP8266_RTOS_SDK
export BIN_PATH=~/ESP8266_RTOS_SDK/bin

然后保存退出

五、编译

  1. 进入“wifi_station_machine_demo”目录下执行./gen_misc.sh
1.在收到提示“Please check SDK_PATH & BIN_PATH, enter (Y/y) to continue:”后输入:Y
2.“STEP 2: choose bin generate”后输入:1,选择“1=user1.bin”
3.“STEP 3: choose spi speed”后输入:2,选择“2=40MHz”
4.“STEP 4: choose spi mode”后输入:0,选择“0=QIO”
5.“STEP 5: choose spi size and map”后输入:选择6,选择
“6=4096KB(1024KB+1024KB)”

2)1.打开ESP8266_RTOS_SDK下面的Makefile,将25行修改为如下所示

BOOT?=new
APP?=1
SPI_SPEED?=40
SPI_MODE?=DIO
SPI_SIZE_MAP?=6

保存退出
2)进入进入“wifi_station_machine_demo”目录下执行:make

以上设置须根据硬件实际使用的flash大小选择,而且与下载设置有关系,错误的选择将导致ESP8266无法正常运行程序。以上设置基于最新的ESP-12F模块

以上设置须根据硬件实际使用的flash大小选择,而且与下载设置有关系,错误的选择将导致ESP8266无法正常运行程序。以上设置基于最新的ESP-12F模块

转载于:https://www.jianshu.com/p/ba452c5960f6

2015-09-19 11:11:45 yfj300 阅读数 10792

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
2019-01-31 22:26:56 mr131021 阅读数 102

Linux系统版本:Linux Mint 19.1 64Bit(虚拟机)

交叉编译工具版本:xtensa-lx106-elf-linux64-1.22.0-88-gde0bdc1-4.8.5

SDK版本:ESP8266_NONOS_SDK-3.0  ESP8266_RTOS_SDK-3.0

参考文档:ESP8266 SDK 入门指南

一、SDK下载:

或者使用git下载

git clone https://github.com/espressif/ESP8266_NONOS_SDK.git

 git clone https://github.com/espressif/ESP8266_RTOS_SDK.git

二、交叉编译工具下载:

PS:一开始我使用了上面官方提供最新版的编译工具(版本:xtensa-lx106-elf-linux64-1.22.0-92-g8facf4c-5.2.0),结果编译无法通过;后来下载了乐鑫提供的Ubuntu系统(下载传送门),将里面的交叉编译工具(版本:xtensa-lx106-elf-linux64-1.22.0-88-gde0bdc1-4.8.5)拷贝到自己的Linux,编译才通过。

下载传送门:xtensa-lx106-elf-linux64-1.22.0-88-gde0bdc1-4.8.5.tar.gz

三、配置编译工具链

1)先解压:

sudo tar zxvf xtensa-lx106-elf-linux64-1.22.0-88-gde0bdc1-4.8.5.tar.gz -C /opt

 2)修改xtensa-lx106-elf目录权限:

sudo chmod 777 /opt/xtensa-lx106-elf

 注意:一定要修改目录权限,如果不修改,编译无法通过

3)添加环境变量:

使用vi打开environment 文件:

sudo vi /etc/environment 

 添加一下内容:

:/opt/xtensa-lx106-elf/bin

 刷新环境变量

 source /etc/environment

检查环境变量是否设置成功:

在任意目录下输入xt,按两次Tab键,出现以下显示,说明设置成功

注意:设置环境变量不成功,先检查路径是否争取;如果路径是正确无误的,重启一下系统。

四、编译IoT_Demo

 以ESP8266 NONOS SDK V3.0.0为例

1)进入存放 ESP8266_NONOS_SDK-3.0.tar.gz的目录

2)解压 ESP8266_NONOS_SDK-3.0.tar.gz

tar -xvf ESP8266_NONOS_SDK-3.0.tar.gz

3)进入SDK主目录(根据自己存放的SDK路径):

cd ESP8266_NONOS_SDK-3.0/

4)复制IoT_Demo工程到SDK主目录

 cp examples/IoT_Demo .-r

 5)编译

 cd IoT_Demo/

./gen_misc.sh

6)依次输入

2

0

2

0

4

 出现一下结果

2017-05-07 18:47:48 flyingcys 阅读数 9879
--作者:燕十三(flyingcys)
-- blog:http://blog.csdn.net/flyingcys
--QQ:294102238
我们知道在linux下进行嵌入式开发,都需要先搭建一套与芯片对应的交叉编译环境,ESP8266也一样。
ESP8266内置Tensilica L106,32位卫星MCU,具有超低功耗的16位RSIC。CPU时钟速度为80MHZ,最高可达160MHZ,并支持实时RTOS操作系统。ESP8266交叉编译器为xtensa-lx106-elf,官方有提供编译完成的可执行版本,也可通过crosstool-ng自行编译,自行编译方法可参照本人博客《ESP8266交叉编译器xtensa-lx106-elfLinux下编译与生成》一文。
  • 官方版下载地址:百度云盘:https://pan.baidu.com/s/1dEOw8bZ 下载密码:v81b
  • 本人自行编译的版:https://git.coding.net/flyingcys/xtensa-lx106-elf.git。经测试自行编译版本编译效果与官方版本一致。
同时官方提供的完整的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目录
2.自编译版本:位于https://git.coding.net/flyingcys/xtensa-lx106-elf.git下
直接在/opt执行sudo git clone https://git.coding.net/flyingcys/xtensa-lx106-elf.git
3.修改xtensa-lx106-elf目录权限:这一步非常重要,否则在后续编译中很容易出现没有权限问题
sudo chmod 777 /opt/xtensa-lx106-elf


二、环境变量设置

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


2.要使当前编译的环境变量生效,执行source /etc/environment,这样在当前命令行终端下该编辑的环境变量有效,换个命令行终端就无效了!当然更测试的方式就是重启系统了!!!更多Linux下环境变量编辑方法可参照本人博客:《Linux环境变量设置》一文。
3.执行echo $PATH,查看当前环境变量,是否已经存在/opt/xtensa-lx106-elf/bin。

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


2018-08-29 09:58:08 sanbanzui2008 阅读数 673

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

2017年09月12日 17:56:12 阅读数:1419 标签: esp8266esp8266开发环境esp8266 Linux开发环境更多

个人分类: 物联网世界

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dengjin20104042056/article/details/77941073

我们知道在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目录

 

 

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

sudo chmod 777 /opt/xtensa-lx106-elf

 

二、环境变量的设置

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

 

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

 

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

 

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

三、 问题解决

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

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

解决办法:

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

没有更多推荐了,返回首页