物联网模块ESP8266环境搭建
消息来源:baojiabao.com 作者: 发布时间:2026-04-14

ESP8266是当下非常流行的一款物联网wifi模块,虽然是国产芯片,但国外也同样有非常多的应用。很多极客用这款物联网模块做出非常炫酷的东西。
ESP8266官方网站网提供了两种SDK,RTOS SDK和非OS SDK,都是基于Linux环境。由于芯片的烧录是Windows环境,所以最好使用虚拟机来搭建ESP8266开发环境,不然你安装了一个Linux电脑还需要另外一个windows电脑来烧录程序。
如果使用AT命令操作请使用非OS的SDK,其他环境建议使用RTOS的SDK,使用RTOS程序可以更加灵活,多任务实现更加容易,可以轻松的写出复杂的程序逻辑控制。
安装步骤
1、安装Linux虚拟机,VMware 或者VirtualBox都可以。我选择的是VirtualBox下的Lubuntu(Ubuntu的轻量级版)。这一步网络上教程多的是,这一步不多赘述。
下一步就是要搭建esp8266的交叉编译环境,交叉编译环境官网上面有一个镜像,可以下载来直接使用,如果想自己编译一个需要下载ESP8266芯片的交叉编译环境源码。
2、下载Esp8266交叉编译环境源码
ESP8266内嵌的CPU既不是ARM也不是MIPS,更不是X86,是Tensilica公司开发的一种嵌入式CPU Tensilica L106,需要下载这种CPU的交叉编译器。
交叉编译器在github上可以下载到,按照说明编译即可。编译完后,在xtensa-lx106-elf/bin目录下会有一大堆xtensa-lx106-elf-xxx文件
如上图所示。这时候说明我们的交叉编译环境已经完成了。这时候需要把这个bin文件的路径写到系统变数PATH里面。
3、下载ESP8266 的SDK。
下载 ESP8266_RTOS_SDK-2.0.0.tar.gz
解压 tar xzvf ESP8266_RTOS_SDK-2.0.0.tar.gz
把路径ESP8266_RTOS_SDK-2.0.0 改为 ESP8266_RTOS_SDK
会看到这目录下有这些文件。
编译工程
我们进入example文件夹下去编译一个工程。
cd ESP8266_RTOS_SDK/examples/mqtt_demo/
可以看到有gen_misc.sh文件,这个文件我们需要修改它。
vim gen_misc.sh
=====================================
#!/bin/bash
:<
******NOTICE******
MUST set SDK_PATH & BIN_PATH firstly!!!
example:
export SDK_PATH=~/esp_iot_sdk_freertos
export BIN_PATH=~/esp8266_bin
!
export SDK_PATH=$SDK_PATH --------------这行需要修改
export BIN_PATH=$BIN_PATH --------------这行需要修改
echo "gen_misc.sh version 20150911"
echo ""
。。。。。。其他略
=====================================
把SDK_PATH 和BIN_PATH的路径修改为你自己的SDK的路径。如下所示。
export SDK_PATH=/mnt/cygwin/ESP8266_RTOS_SDK/
export BIN_PATH=/mnt/cygwin/ESP8266_RTOS_SDK/bin/
修改好这两个变数后保存gen_misc.sh文件。
编译执行命令 ./gen_misc.sh,不是执行make。
执行完命令需要用户选择几个编译选项。
需要用户必须选择的
Please check SDK_PATH & BIN_PATH, enter (Y/y) to continue:
回答‘y’
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,如果需要网络升级的选择1或者2.
STEP 5: choose spi size and map
0= 512KB( 256KB+ 256KB)
2=1024KB( 512KB+ 512KB)
3=2048KB( 512KB+ 512KB)
4=4096KB( 512KB+ 512KB)
5=2048KB(1024KB+1024KB)
6=4096KB(1024KB+1024KB)
7=4096KB(2048KB+2048KB) not support ,just for compatible with nodeMCU board
8=8192KB(1024KB+1024KB)
9=16384KB(1024KB+1024KB)
enter (0/2/3/4/5/6/7/8/9, default 0):
这个需要根据用户的实际flash大小来选择,可以选择的比实际的flash小,但不能选择比实际的flash大,否则烧录不进去。其他选项之间回车选择默认即可。执行完毕就开始编译了。如果没有错误最后会看到这个结果。
生成的二进制固件没有在当前目录,在SDK目录下面的bin目录下。如果编译选择的是网络升级版本则在bin/upgrade目录下。
root@esp8266-VirtualBox:/mnt/cygwin/ESP8266_RTOS_SDK/bin/upgrade# ls -l
total 6832
-rwxrwxrwx 1 root root 0 4月 2 13:55 readme.txt
-rwxrwxrwx 1 root root 298244 9月 1 00:00 user1.1024.new.2.bin
-rwxrwxrwx 1 root root 1752489 9月 1 00:00 user1.1024.new.2.dump
-rwxrwxrwx 1 root root 4943001 9月 1 00:00 user1.1024.new.2.S
user1.1024.new.2.bin是生产的固件二进制文件,可以烧写到ESP8266芯片中去。user1.1024.new.2.S是生成的反汇编文件,可以定位错误使用,格式如下。
0241bf0
40241bf0: 0238 l32i.n a3, a2, 0
40241bf2: 000342 l8ui a4, a3, 0
40241bf5: 331b addi.n a3, a3, 1
40241bf7: 0239 s32i.n a3, a2, 0
40241bf9: 042d mov.n a2, a4
40241bfb: f00d ret.n
40241bfd: 000000 ill
郑重声明:本文作品为原创,如转载须注明出处“头条号:物联网电子世界”。
相关文章
B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因2023-03-06 19:05:55
苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓2023-02-19 15:09:54
华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?2023-02-17 23:21:27
google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元2023-02-17 18:58:09
科大讯飞同传同声翻译软件造假 浮夸不能只罚酒三杯2023-02-17 18:46:15
华为mate20pro系列手机首发上市日期价格,屏幕和电池参数配置对比2023-02-17 18:42:49
小米MAX4手机上市日期首发价格 骁龙720打造大屏标准2023-02-17 18:37:22
武汉弘芯遣散!结局是总投资1280亿项目烂尾 光刻机抵押换钱2023-02-16 15:53:18
谷歌GoogleDrive网云盘下载改名“GoogleOne” 容量提升价格优惠2023-02-16 13:34:45
巴斯夫将裁员6000人 众化工巨头裁员潮再度引发关注2023-02-13 16:49:06
人手不足 韵达快递客服回应大量包裹派送异常没有收到2023-02-07 15:25:20
资本微念与李子柒销声匿迹谁赢? 微念公司退出子柒文化股东2023-02-02 09:24:38
三星GalaxyS8 S9 S10系统恢复出厂设置一直卡在正在检查更新怎么办2023-01-24 10:10:02
华为Mate50 RS保时捷最新款顶级手机2022多少钱?1.2万元售价外观图片吊打iPhone142023-01-06 20:27:09
芯片常见的CPU芯片封装方式 QFP和QFN封装的区别?2022-12-02 17:25:17
华为暂缓招聘停止社招了吗?官方回应来了2022-11-19 11:53:50
热血江湖手游:长枪铁甲 刚猛热血 正派枪客全攻略技能介绍大全2022-11-16 16:59:09
东京把玩了尼康微单相机Z7 尼康Z7现在卖多少钱?2022-10-22 15:21:55
苹果iPhone手机灵动岛大热:安卓灵动岛App应用下载安装量超100万次2022-10-03 22:13:45
苹果美版iPhone可以在中国保修 从哪看怎么查询iPhone的生产日期?2022-09-22 10:00:07










