dreambox 发表于 2016-10-19 17:10:15

分享:ESP8266开发环境——Ubuntu编译环境

前言:最近开发玩WIFI , 本来想玩ESP32的,没买到样片,就先学学ESP8266,后面切换到ESP32也容易
看了看论坛ESP8266的资料好像比较少,所以就将学习笔记分享给大家,多多交流,文中有错误的地方或有更好的实现方法请帮忙指正!


二、ESP8266开发环境——Ubuntu编译环境

这里以Ubuntu 16.04.1 x64为例安装交叉编译环境
1、下载xtensa-lx106-elf.tar.bz2
http://pan.baidu.com/s/1o8S2jF0   gp1m
链接失效请联系我或自行Google下载

2、解压到opt目录
sudo tar -vxjf xtensa-lx106-elf.tar.bz2 -C /opt/


3、配置环境变量
cd /home/$username                  //$username为登录用户名
gedit .profile
在文件末尾添加:export PATH=/opt/xtensa-lx106-elf/bin:$PATH

保存退出,更新环境变量使配置生效
source .profile
echo $PATH    可以看到环境变量中已经包含/opt/xtensa-lx106-elf/bin
输入xtensa并按 Tab 键若补全为xtensa-lx106-elf- 则配置成功


4、安装Git与编译器依赖库libc6-dev-amd64
如果不需要使用git下载代码可以不安装,但libc6-dev-amd64一定要安装,之前安装漏了libc6-dev-amd64,总是编译错误,提示找不到xtensa-lx106-elf-gcc
要注意libc6-dev-amd64是否安装成功,有时候网络问题可能会安装失败,这时去编译也会出错。


5、下载SDK,编译例程
参考https://github.com/espressif/ESP8266_RTOS_SDK
git clone https://github.com/espressif/ESP8266_RTOS_SDK.git
喝杯咖啡等待漫长的下载过程,国内下载github比较慢,有能力的可以开代理飞速下载
根据SDK存放目录,修改 gen_misc.sh,我是下载到用户目录下的
$export SDK_PATH=~/ESP8266_RTOS_SDK
$export BIN_PATH=~/ESP8266_BIN
添加执行权限:chmod 777 gen_misc.sh
执行:./gen_misc.sh
大家根据自己的硬件板选择参数,我这里选择默认参数,编译完成就可以看到有bin文件输出




6、安装下载工具,下载到ESP8266板上
sudo apt-get update
sudo apt-get python-pip
pip install esptool
cd ESP8266_BIN/
ls
esptool.py --port /dev/ttyUSB0 write_flash 0x00000 eagle.flash.bin 0x40000 eagle.irom0text.bin

请注意串口能否正常使用,我用的是cp2102 USB转串口,Ubuntu 16.04里默认已经安装好这个驱动,但当前用户可能没权限访问,需要将当前用户添加到dialout用户组,退出登录,然后重新登入就可以使用ttyUSB0



参考:
编译环境搭建官方教程:http://bbs.espressif.com/viewtopic.php?f=21&t=86
https://github.com/esp8266/esp8266-wiki/wiki/Toolchain

didadida 发表于 2016-10-19 17:34:25

很详细,谢谢楼主分享~~~

liuruoshui 发表于 2016-10-19 17:43:16

支持楼主继续,我也学习一下!已打赏!

ANHOME 发表于 2016-10-19 19:43:25

最近逛嘉立创商城上,正好发现ESP8266的模块可多了,有机会按楼主的方法来试试{:tongue:}

fengyunyu 发表于 2016-10-19 20:30:45

看到命令行,头大!

casterbn 发表于 2016-10-19 22:57:08

谢谢楼主分享~~~

meirenai 发表于 2016-10-19 22:57:12

前几天有个网友推荐的
esp-open-sdkhttps://github.com/pfalcon/esp-open-sdk
还有 esp-linkhttps://github.com/jeelabs/esp-link

楼主会用吗?不太清楚其中的关系,怎么才能正常编译。

dreambox 发表于 2016-10-20 09:43:23

meirenai 发表于 2016-10-19 22:57
前几天有个网友推荐的
esp-open-sdkhttps://github.com/pfalcon/esp-open-sdk
还有 esp-linkhttps://g ...

我没用过,这个两个都是基于官方SDK在二次开发的,你把编译环境搭建好就可以编译了,有什么错误的,贴出来我帮你看看

dreambox 发表于 2016-10-20 09:45:07

fengyunyu 发表于 2016-10-19 20:30
看到命令行,头大!

那可以用Arduino IDE 或者Eclipse 都可以的

308594151 发表于 2016-10-20 10:38:26

支持楼主

sunliezhi 发表于 2016-10-20 12:32:37

Ubuntu环境下玩ESP8266,   好!参考参考

fiberchen 发表于 2016-10-20 13:04:49

正好要用到 试一下

winterw 发表于 2016-10-20 14:45:17

就喜欢这种图文并茂的教程

chhh 发表于 2016-10-20 16:48:38

感谢分享,收藏了

hongfadg 发表于 2016-10-21 09:14:36

请问楼主你烧录进去打印的是什么信息啊,,,,,我的都是乱码   另外0x40000 eagle.irom0text.bin    编译时信息显示的地址是0x20000为何你烧录的是0x40000,谢谢

麦田有怪圈 发表于 2016-10-21 09:25:29

ESP8266会是下一波热点

dreambox 发表于 2016-10-21 18:50:43

hongfadg 发表于 2016-10-21 09:14
请问楼主你烧录进去打印的是什么信息啊,,,,,我的都是乱码   另外0x40000 eagle.irom0text.bin    编译 ...

我是参照https://github.com/esp8266/esp8266-wiki/wiki/Uploading这篇文档的, 为什么烧到0x40000可以看下Memory Maphttps://github.com/esp8266/esp8266-wiki/wiki/Memory-Map
至于编译为什么输出的是0x20000,我也没去看那个输出的0x20000是什么意思

烧录进去打印什么信息?   如果你是说的烧录过程中的话上面有个图,如果你是说烧录后的话是不是你的波特率不对呀

dreambox 发表于 2016-10-21 18:51:43

麦田有怪圈 发表于 2016-10-21 09:25
ESP8266会是下一波热点

ESP8266现在正火热着,下一波热点ESP32还小火一下吧

a7458969 发表于 2016-10-21 22:15:47

{:sad:}{:sad:}这个芯片还有搞头??

LK9286 发表于 2016-10-22 14:41:08

趁机学习下LINUX

wkman 发表于 2016-10-22 14:58:15

{:victory:} 不明觉厉,,{:shocked:}学习了{:biggrin:}

NFotxb 发表于 2016-10-22 19:44:45

学习了,最近也在看ESP8266的资料。

syj0925 发表于 2019-10-3 16:07:09

谢谢分享,最近开始玩esp8266,感觉有点晚了

NM2012 发表于 2019-10-3 18:05:17

不是可以刷python吗,上两天试了下还挺有意思的

thorn 发表于 2019-10-3 19:40:45

感谢分享,只会用esp arduino
页: [1]
查看完整版本: 分享:ESP8266开发环境——Ubuntu编译环境