击上方“嵌入式从0到1”,选择“星标公众号”
大家好,我是程序员小哈,又到了知识分享时间,今天我给大家介绍一下如何编译ESP8266的官方SDK,如果对你有所帮助的话,还请文末点赞支持一下哈。
之前网文分享的时候,有网友留言,能否做一个 STM32-->ESP8266->OneNET 的Demo。
要想解决这个问题,我们可以使用ESP8266通过串口AT指令连接OneNET平台,这种方式我们只需要将ESP8266烧写通用的AT固件即可。
或者我们也可以使用MQTT协议接入OneNET,这种方案的话,就需要我们在ESP8266中烧写一个定制的固件了,ESP8266官方有自己的SDK,在其基础上开发可以事半功倍,所以今天我们先来了解一下,如何编译官方提供的SDK。
ESP8266是乐鑫的产品,乐鑫提供了两个版本的SDK,一个是RTOS版本的,一个是无操作系统版本的。
我们今天以ESP8266_NONOS_SDK为例,看一下它的编译环境完整配置过程。
SDK下载链接如下:
https://www.espressif.com/zh-hans/support/download/sdks-demos?keys=&field_type_tid%5B%5D=14
基于ESP8266做开发,我们一般都是选用安信可的开发工具,我们可以在如下链接获取ESP8266的开发工具清单,这是一个基于Eclipse的IDE,利用它可以编辑和编译ESP8266的固件。
https://docs.ai-thinker.com/tools
我们选用最新版的IDE(1.5版本),具体安装方法可以参考安信可官方安装教程的博文,博文链接在下图中文档中获取。
我的安装目录如下(默认):
一路下一步,默认安装。
IDE安装完毕之后,我们导入工程:
编译工程之前,首先要先对项目属性进行设置,鼠标选中项目名称右键点击,在弹出菜单中选择 Properties --> C/C++ Build --> Builder Settings 中添加编译规则,由于我们选用的ESP8266模块是 32Mbit的模块,所以填写: make COMPILE=gcc BOOT=new APP=1 SPI_SPEED=40 SPI_MODE=DIO SPI_SIZE_MAP=6 。
make COMPILE=gcc BOOT=new APP=1 SPI_SPEED=40 SPI_MODE=DIO SPI_SIZE_MAP=6
在Properties --> C/C++ Build --> Builder Settings 中填写待编译工程的路径,比如我们编译移动到根目录下的 esp_mqtt_proj 工程,需要填写的内容如下:
${workspace_loc:/ESP8266_NONOS_SDK-3.0.4}/esp_mqtt_proj
然后,鼠标选中项目名称,在右键单击弹出的菜单中先执行 Clean Project ,再执行 Build Project 。
如果系统中事先没有安装Java运行环境,我们编译工程可能会报错:
把准备好的JDK:jdk-8u221-windows-x64.exe 安装到本机上(最好安装在非中文路径下)。
在控制台中输入:java -version ,直接就能输出java的版本,说明系统直接就可以找到java的安装路径,我们也就不用设置系统环境变量了(如果不能输出Java的版本信息,则需要手动设置系统环境变量)。
先执行Clean Project ,再次执行Build Project :
编译完出现如下提示,代表编译通过:
该文件 \ESP8266_NONOS_SDK-3.0.4\bin\upgradeuser1.4096.new.6.bin
,即为编译输出的固件文件,一会需要将此文件下载至ESP8266模块中。
注意:
只需要将ESP8266模块上的MicroUSB座与一个MicroUSB线相连即可,注意这根MicroUSB线要选择有数据线的,个别MicroUSB线内部只有电源线,没有数据线。
使用ESP8266的官方Flash Download Tools工具下载固件。
这种方式是通用的固件下载方式,烧写其他固件的话,一般也可以采用此种方式。
一般固件提供厂商都会提供若干待烧写文件及一个说明文档,告诉你各个文件对应的烧写地址。
而SpiFlashConfig中的配置,一般跟你选用的ESP8266模块的型号有关,选错选项,可能会导致输出信息为乱码。
本文编译的ESP8266固件,下载配置的参数可参考下图所示:
固件下载完毕,我们重启模块,我们在串口助手中看到下面输出了Hello World by XiaoHaGe! 。
这些内容正好跟下面我们代码中添加的打印输出一致,说明我们成功更新了ESP8266的固件。
Eclipse 字体有两处,一处是控制台的字体,一处是主窗口。我们这里需要修改主窗口的字体:
Window -> Preferences -> General -> Appearance -> Colors and Fonts -> C/C++ -> C/C++ Editor Text Font -> Edit 调节主窗口字体及大小。
设置完之后的效果:
文中涉及软件及修改后的官方SDK源码获取,请公众号后台回复关键字:ESP8266_20210916。
断更许久的综合实例又要来了,具体安排查看下面链接:
小哈哥近期分享计划及时间安排
如果想了解小哈哥的知识星球,可以点击“阅读原文”查看简介,我们可以一起交流、一起玩耍。
小伙伴们可加微信[chengxuyuanxiaoha]进技术交流群,与更多同道中人一起成长。
分享 💬 点赞 👍 在看 ❤️
以“三连”行动支持优质内容!