Windows搭建ESP8266 RTOS SDK开发环境

Linux搭建ESP8266 RTOS SDK开发环境

简介

之前学习使用过51和STM32平台的单片机,这两个用来做一些数据采集或控制功能的话还挺好用,但这两个平台想要联网的话还需要依靠其他的网络转换模式,使用起来非常的不爽,系统组件和成本也上去了。后来了解到一些集成网络功能的单片机,像ESP8266、ESP32这些,支持WIFI连接,也有一些基本的串口、GPIO等外设,适合用来做一些需要联网的小东西。正好之前买了几个涂鸦的ESP8266小模块(型号TYWE3L),这次正好拿来玩一玩,熟悉下开发环境的搭建和ESP8266外设的使用。

搭建硬件开发环境

TYWE3L

TYWE3L 是由涂鸦智能开发的一款低功耗嵌入式 Wi-Fi 模组。它由一个高集成度的无线射频芯片 ESP8266EX和少量外围器件构成,内置了 Wi-Fi 网络协议栈和丰富的库函数。TYWE3L 内嵌低功耗的 32 位 CPU,2Mbyte 闪存,50 KB SRAM 和丰富的外设资源。

  • 内置低功耗 32 位 CPU ESP8266EX,可以兼作应用处理器
  • 主频支持 80MHz 和 160MHz
  • 工作电压:3V–3.6V
  • 外设:9×GPIOs, 1×UART, 1×ADC
  • 支持排针连接方式
  • Wi-Fi 连通性

ESP8266EX

ESP8266EX 由乐鑫公司开发,提供了⼀套⾼度集成的 Wi-Fi SoC 解决⽅案,其低功耗、 紧凑设计和⾼稳定性可以满⾜⽤户的需求。 ESP8266EX 拥有完整的且⾃成体系的 Wi-Fi ⽹络功能,既能够独⽴应⽤,也可以作为从机 搭载于其他主机 MCU 运⾏。当 ESP8266EX 独⽴应⽤时,能够直接从外接 flash 中启动。 内置的⾼速缓冲存储器有利于提⾼系统性能,并且优化存储系统。此外 ESP8266EX 只需 通过 SPI/SDIO 接⼝或 UART 接⼝即可作为 Wi-Fi 适配器,应⽤到基于任何微控制器的设 计中。 ESP8266EX 集成了天线开关、射频 balun、功率放⼤器、低噪声放⼤器、滤波器和电源管 理模块。ESP8266EX 还集成了增强版的 Tensilica’s L106 钻⽯系列 32-bit 内核处理器,带⽚上 SRAM。ESP8266EX 可以通过 IO 外接传感器和其他设备。软件开发包 (SDK) 提供了⼀些 应⽤的示例代码。

引脚定义

引脚序号 符号 IO 类型 功能
1 RST I/O 硬件复位引脚。低电平有效,内部已上拉电阻
2 ADC AI ADC 端口,10 位精度的 SAR ADC
3 EN I 模组使能脚,正常使用需要接到 3.3V
4 GPIO16 I/O GPIO_16,使用需要接 10K 上拉电阻
5 GPIO14 I/O GPIO_14,对应 IC MTMS (Pin9)
6 GPIO12 I/O GPIO_12,对应 IC MTDI (Pin10)
7 GPIO13 I/O GPIO_13,对应 IC MTCK (Pin12)
8 VCC P 模组的电源引脚(3.3V)
9 GND P 电源参考地
10 GPIO15 O GPIO_15,参与模组上电初始化过程,慎用
11 GPIO2 O UART0_TXD,用于打印模组内部信息
12 GPIO0 I/O GPIO_0,参与模组上电初始化过程,慎用
13 GPIO4 I/O GPIO_04,对应 IC GPIO4 (Pin16)
14 GPIO5 I/O GPIO_05,对应 IC GPIO5 (Pin24)
15 RXD0 I/O UART0_RXD
16 TXD0 O UART0_TXD

连接硬件

ESP8266EX在上电复位时会检测BOOT0管脚的状态,为低则会进入串口升级模式,此时可以通过串口升级工具连接ESP8266EX的UART0进行固件烧写,这个类似于51单片机的串口升级过程;BOOT0为高则会进入正常启动模式,ESP8266EX会从外部FLASH内读取程序并启动。另外TYWE3L模块还有个EN管脚,根据模块管脚描述,需要将EN引脚拉高才能启动。

根据以上信息,ESP8266最小系统只需要外部提供电源、BOOT0切换开关、串口和复位就行了,电源VCC使用3.3V;BOOT0管脚焊接一个开关用于切换高低电平,用于烧写和运行两种模式切换;复位管脚焊接一个按键到地,用于复位重启;EN引脚直接连接到VCC管脚。整个TYWE3L模块按照前面的描述用几根杜邦线和一个USB转串口模式连接起来,硬件环境就搭建完成了。

f514126ffa4348f9f0ff5222fe8e29a

搭建软件开发环境

ESP8266支持Arduino、SDK等多种开发方式,每种开发方式的介绍这里已经介绍的比较全面了,这里主要介绍下RTOS SDK在Linux下的环境搭建和烧写过程。

安装软件环境

下载源代码和后续编译需要git、wget、python等相关软件,请先安装好基本软件,其他依赖在编译报错时再根据报错信息手动安装。

# 下载SDK源码
git clone https://github.com/espressif/ESP8266_RTOS_SDK.git
# 下载编译工具链
wget https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz
# 设置IDF_PATH环境变量为SDK路径
export IDF_PATH=~/esp/ESP8266_RTOS_SDK
# 添加编译工具链路径到PATH环境变量
export PATH=$PATH:xxx/xtensa-lx106-elf/bin

编译HelloWorld工程

测试自带helloworld例程

# 进入SDK例程目录
cd ESP8266_RTOS_SDK/examples/get-started/hello_world/
# 配置编译选项,也可以跳过这一步使用默认配置,可以配置串口波特率什么的
make menuconfig
# 开始编译
make all -j32

开始编译后没有报错的话,在例程的build目录中应该会生成三个文件,分别是bootloader.bin、partitions_singleapp.bin和hello-world.bin。

image-20250111214403936

烧写

烧写需要使用到连接到ESP8266的串口,在Linux和Windows下都可以烧写。

在Linux下烧写可以直接使用SDK里面的命令,连接好串口,切换BOOT0引脚为低电平后,重新复位一下ESP8266,ESP8266就会进入烧写模式。

# 在sdk下使用make flash命令烧写
make flash

在Windows下也可以通过烧写工具进行烧写,首先下载烧写软件。

https://dl.espressif.com/public/flash_download_tool.zip

打开软件,选择ESP8266平台。需要烧写三个文件,bootloader烧写到0地址,app文件helloworld.bin文件烧写到0x10000地址,分区表文件partitions_singleapp.bin烧写到0x8000地址。

image-20250111215736088

连接好串口后,选择好使用的串口号,点击START开始烧写。

烧写完成后点击STOP结束烧写,在其他串口调试助手中再连接ESP8266的串口,将BOOT0管脚拉高,重新复位启动就可以看到烧写的程序运行打印了。

posted @ 2025-01-11 22:10  LM358  阅读(676)  评论(0)    收藏  举报