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)