本文围绕 ESP32-S3 展开,讲解其 SPI Flash 分区表设置、与 Flash 的连接,还介绍分区表配置、各分区初始化挂载。

目录

01 简介

1.ESP32-S3 的 分区表(Partition Table)

2. ESP32-S3 与 SPI Flash 的连接方式

3.通信协议与模式

4.ESP32-S3 兼容主流厂商的 SPI Flash,以下为典型型号:

02 如何设置分区表


01 简介

1.ESP32-S3 的 分区表(Partition Table)

  是一种用于划分 SPI Flash 存储空间的配置机制。它的作用类似于电脑硬盘的分区,把 Flash 划分为多个区域,每个区域用于存储不同类型的数据或程序,比如:

  • 应用程序(如 factory、ota_0、ota_1);
  • 系统数据(如 NVS、PHY 初始化数据);
  • 文件系统(如 SPIFFS、FATFS)。

2. ESP32-S3 与 SPI Flash 的连接方式

ESP32-S3 通过SPI/QSPI/OPI 接口与外部 SPI Flash 通信,典型连接方案如下:

SPI Flash 信号 ESP32-S3 管脚名称 管脚编号(QFN56)  备注
SCK / CLK    SPICLK            33  时钟线    
MOSI / SI  SPID               35  数据输入   
MISO / SO   SPIQ              34  数据输出   
CS#        SPICS0              32  片选     
WP#         SPIWP           31  写保护    
HOLD# / IO3 SPIHD               30  暂停/IO3 

SPI Flash 为外部独立芯片,需通过 PCB 与 ESP32-S3 连接。ESP32-S3 芯片本身不集成 Flash,因此所有程序和数据均存储于外接的 SPI Flash 中。部分模组(如ESP32-S3-WROOM-1)虽将 Flash 与 SoC 集成在同一块 PCB 上,但本质上仍为外部组件。

3.通信协议与模式

  • 基础 SPI 模式:使用 4 线(CLK、CS、MOSI、MISO),支持标准 SPI 协议;
  • QSPI 模式:通过 4 线同时传输地址和数据,带宽提升至 4 倍,需 Flash 芯片支持(如qioqout模式);
  • OPI 模式(Octal SPI):8 线并行传输,适用于高性能需求,但需专用 Flash 型号。

4.ESP32-S3 兼容主流厂商的 SPI Flash,以下为典型型号:

1. 华邦电子(Winbond)

  • W25Q64JV:8MB,支持 QSPI,电压 3.3V,封装 SOIC-8;
  • W25Q128JV:16MB,最高时钟频率 133MHz,适用于大容量存储需求。

2.兆易创新(GigaDevice)

  • GD25Q32C:4MB,低功耗设计(<1mW),支持 XIP(片上执行);
  • GD25Q128C:16MB,工作电压 1.7V~3.6V,兼容宽电压系统。

3.美光(Micron)

  • MT25QL128:16MB,采用 Octal SPI 接口,适合高速数据吞吐场景。

02 如何设置分区表

分区表是一个存储在 Flash 固定位置(默认 0x8000)的二进制数据结构,记录了各分区的起始地址、大小、类型、子类型等信息。ESP32-S3 启动时,Bootloader 会先读取分区表,再根据表中信息加载对应分区的程序(如 app 分区)或访问数据(如 NVS 分区)。

继续阅读全文:ESP32 分区表详解:SPI Flash 配置、初始化与挂载教程

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐