1.1. ESP32 概述

ESP32 是乐鑫(Espressif)推出的双模无线 MCU,集成 WiFi + BLE,是物联网领域最广泛使用的芯片之一。

1.1.1. 核心规格

参数

ESP32

ESP32-S3

ESP32-C3

架构

Xtensa LX6 双核

Xtensa LX7 双核

RISC-V 32位单核

主频

240 MHz

240 MHz

160 MHz

SRAM

520 KB

512 KB

400 KB

Flash

4~16 MB

8~16 MB

4 MB

WiFi

802.11 b/g/n

802.11 b/g/n

802.11 b/g/n

BLE

BLE 4.2

BLE 5.0

BLE 5.0

USB OTG

×

√

√

推荐场景

通用 IoT

AI/显示

低成本

1.1.2. 开发方式选择

特性

ESP-IDF

Arduino-ESP32

MicroPython

语言

C/C++

C++ (Arduino API)

Python

编译方式

交叉编译 (cmake)

Arduino IDE / PlatformIO

解释执行 (REPL)

内存占用

小

中

大(堆开销)

实时性

高(FreeRTOS)

中

低

适合人群

专业嵌入式

快速原型

教育/快速验证

官方支持

一级

二级

社区

1.1.3. 芯片架构

┌──────────────────────────────────────────────────────┐
│                    ESP32 架构                        │
│                                                      │
│  ┌─────────────┐   ┌─────────────┐                  │
│  │  CPU Core 0  │   │  CPU Core 1  │                │
│  │  (PRO_CPU)   │   │  (APP_CPU)   │                │
│  └──────┬───────┘   └──────┬───────┘                │
│         │                  │                         │
│  ┌──────┴──────────────────┴───────┐                 │
│  │       内部总线 (Bus Matrix)      │                 │
│  └──────┬──────────────────┬───────┘                 │
│         │                  │                         │
│  ┌──────┴─────┐   ┌───────┴────────┐                │
│  │  RAM/ROM   │   │   外设总线      │                │
│  ├────────────┤   ├────────────────┤                │
│  │ · SRAM 520K│   │ · UART × 3    │                │
│  │ · ROM 448K │   │ · I2C × 2     │                │
│  │ · Cache    │   │ · SPI × 4     │                │
│  └────────────┘   │ · I2S × 2     │                │
│                    │ · ADC × 2(12位)│               │
│                    │ · DAC × 2(8位) │               │
│                    │ · PWM × 16    │                │
│                    │ · Touch × 10  │                │
│                    │ · CAN/TWAI    │                │
│                    └────────────────┘                │
│                                                      │
│  ┌──────────────────┐  ┌──────────────────┐          │
│  │  WiFi (802.11)   │  │  BLE (4.2)       │          │
│  │  · Station       │  │  · Central       │          │
│  │  · AP            │  │  · Peripheral    │          │
│  │  · Sniffer       │  │  · Mesh          │          │
│  └──────────────────┘  └──────────────────┘          │
└──────────────────────────────────────────────────────┘

1.1.4. 内存映射

地址范围              | 用途
─────────────────────────────────────────
0x3FF0_0000 ~        | 外设寄存器
0x3FFA_0000 ~        | DROM (只读数据)
0x3FFB_0000 ~        | DRAM (数据 RAM)
0x4000_0000 ~        | IROM (指令 ROM)
0x4008_0000 ~        | IRAM (指令 RAM)
0x400C_0000 ~        | Cache 地址空间

小技巧

选型建议: - 通用 IoT → ESP32 (性价比最高) - AI / 显示 / 摄像头 → ESP32-S3 (P4 即将发布) - 低成本 / 蓝牙 Mesh → ESP32-C3 (RISC-V) - 低功耗电池设备 → ESP32-C6 (802.11ax)